• Tidak ada hasil yang ditemukan

Analisis penggunaan multithreading untuk penarikan data pada skala besar di PT.Bina San Prima Bogor

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis penggunaan multithreading untuk penarikan data pada skala besar di PT.Bina San Prima Bogor"

Copied!
135
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

Data Pribadi

Nama : M Ellza Suryawan

Jenis Kelamin : Laki-laki

Tempat, Tanggal Lahir : Bogor, 04 Juli 1989

Agama : Islam

Kewarganegaraan : Indonesia Status Perkawinan : Belum Menikah

Anak ke : Satu dari tiga bersaudara Alamat Lengkap : Jl. Raweuy RT/RW 004/001

Kel/Desa Sukasirna Kecamatan Jonggol Kabupten Bogor

Telepon, HP : 085722224289

Email : Mellzasuryawan@yahoo.co.id

Pendidikan Formal

1995 - 2001 : SD Negeri 1 Sukasirna 2001 - 2004 : SLTP PGRI 1 Jonggol 2004 - 2007 : SMA Negeri 1 Raweuy

(6)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

M ELLZA SURYAWAN

10107725

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER

(7)

KATA PENGANTAR

Assalamualaikum Wr Wb.

Puji syukur penulis panjatkan kehadirat Allah S.W.T yang telah memberikan rahmat dan karunia-Nya, shalawat serta salam semoga tercurah kepada Rasulullah SAW, sehingga penulis dapat menyelesaikan Skripsi yang berjudul ANALISIS PENGGUNAAN MULTITHREADING UNTUK PENARIKAN LAPORAN DATA PENJUALAN PADA SKALA BESAR DI PT Bina San Prima Bogor.

Tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.

Dengan keterbatasan literatur, pengalaman serta ilmu dan pengetahuan yang dimiliki oleh penulis, maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian skripsi ini. Oleh karena itu penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :

1. Orangtua tercinta yang telah memberikan kasih sayang, perhatian, doa dan dorongan baik moril maupun materi yang tiada henti agar penulis menyelesaikan pendidikan tepat pada waktunya. Semoga suatu saat nanti aku dapat membanggakan kalian.

2. Ibu Tati Harihayati M.,S.T.,M.T., selaku dosen pembimbing. Terima kasih karena telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama dalam proses penyusunan skripsi ini.

(8)

iv

4. Ibu Dian Dharmayanti, S.T.,M.Kom. selaku penguji II.

5. Bapak Irawan Afrianto, S.T., M.T, Selaku Ketua Jurusan Program Studi Teknik Informatika Universitas Komputer Indonesia.

6. Dosen – dosen Jurusan Teknik Informatika di Universitas Komputer Indonesia yang telah banyak memberikan ilmu yang berharga selama proses pendidikan ini.

7. Seluruh staf karyawan di Jurusan Teknik Informatika Universitas Komputer yang telah membantu demi kelancaran proses pendidikan yang penulis tempuh.

8. Teman-teman di Jurusan Teknik Informatika angkatan 2007 khususnya kelas IF-15 terima kasih atas bantuan dan doronganya.

9. Serta semua pihak yang telah turut membantu baik secara langsung maupun tidak langsung dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.

Didalam penulisan skripsi ini, penulis telah berusaha semaksimal mungkin, walaupun demikian penulis menyadari bahwa skripsi ini jauh dari sempurna. Untuk itu penulis akan selalu menerima segala masukkan yang tujuannya untuk menyempurnakan skripsi ini. Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.

Bandung, Januari 2013

(9)

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xiii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metodologi Penelitian ... 3

BAB 2 TINJAUAN PUSTAKA ... 7

2.1 Profil Perusahaan ... 7

2.1.1 Sejarah Perusahaan ... 7

2.1.2 Visi dan Misi ... 8

2.1.3 Struktur Organisasi ... 8

2.1.4 Logo ... 9

2.2 Landasan Teori ... 10

2.2.1 Thread ... 10

2.2.1.1 Multithreading ... 11

(10)

vi

2.2.2.2 Shortest Job-First ... 15

2.2.2.3 Priority Scheduling ... 16

2.2.2.4 Round Robin ... 16

2.2.3 Jaringan ... 17

2.2.3.1 Sejarah Jaringan ... 17

2.2.3.2 Jenis – jenis Jaringan Komputer ... 19

2.2.3.3 Tipe – Tipe Jaringan Komputer ... 20

2.2.3.4 Topologi Jaringan ... 22

2.2.4 Client Server ... 25

2.2.4.1 Konsep Dasar Client-server ... 25

2.2.5 Konsep Perancangan Berorientasi Objek ... 26

2.2.5.1 Konsep UML (Unified Modeling Language) ... 27

2.2.5.2 Sejarah UML ... 27

2.2.5.3 Tipe – Tipe Diagram UML ... 28

2.2.6 Jaringan Semantik ... 30

2.2.7 MySQL ... 33

2.2.7.1 Sejarah MySQL ... 33

2.2.8 Borland Delphi ... 34

2.2.8.1 Keistimewaan MySQL ... 34

2.2.9 Microsoft Excel ... 36

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 37

(11)

3.1.4 Analisis Kebutuhan non-fungsional ... 41

3.1.4.1 Analisis Kebutuhan Perangkat Keras ... 42

3.1.4.2 Analisis Kebutuhan Perangkat Lunak ... 42

3.1.4.3 Analisis Pengguna Sistem ... 43

3.1.4.4 Analisis Metode Multithreading ... 43

3.1.4.5 Analisis Client Server ... 44

3.1.5 Analisis Kebutuhan Fungsional ... 45

3.2 Perancangan sistem ... 61

3.2.1 Diagram Relasi ... 61

3.2.2 Perancangan pesan ... 62

3.2.3 Perancangan Method ... 62

3.2.4 Jaringan Semantik ... 63

3.2.5 Arsitektur Antar Muka ... 64

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 66

4.1 Implementasi Sistem ... 66

4.1.1 Perangkat Lunak Pengujian ... 66

4.1.2 Perangkat Keras Pengujian ... 66

4.1.3 Implementasi Basis Data (Database) ... 67

4.1.4 Implementasi Antar Muka ... 69

4.2 Pengujian Sistem ... 72

4.2.1 Rencana Pengujian ... 73

(12)

viii

4.2.2.4 Pengujian Add Principal ... 76

4.2.2.5 Pengujian Principal ... 77

4.2.2.6 Pengujian Schedule ... 78

4.2.2.7 Pengujian Process Single Thread ... 78

4.2.2.8 Pengujian Process MultiThread ... 79

4.2.3 Kesimpulan Hasil Uji Alpha ... 79

4.2.4 Pengujian Beta ... 80

4.2.4.1 Wawancara Pengujian Beta ... 80

4.2.4.2 Kesimpulan Pengujian Beta ... 82

BAB 5 KESIMPULAN DAN SARAN... 83

5.1 Kesimpulan ... 83

5.2 Saran ... 83

(13)

[1]. Sugiyono. Dr.,Prof., Metode Penelitian Kuantitatif Kualitatif Dan R&D, Alfabeta, Bandung, 2010.

[2]. Kadir, Abdul, Pemrograman C++, Andi, Yogyakarta, 2003.

[3]. Malik, Jaja Jamaludin, Membuat Form Cantik Untuk Aplikasi Delphi, Andi, Yogyakarta, 2006.

[4]. Kupas Tuntas Adobe Dreamweaver CS5 Dengan Pemrograman PHP & MySQL, Andi, Yogyakarta, Madcoms, Madium, 2010.

[5]. Purnomo, Catur Hadi, 250 Tip & Trik Excel 2007 & 2010, Mediakita, Jakarta, 2012.

[6]. Kristanto, Andri, Jaringan Komputer, Graha Ilmu, Yogyakarta, 2003. [7]. Pilone. Dan, Pitman. Neil, UML 2.0 in a Nutshell, O'Reilly Media,

Inc., Sebastopol, 2005.

[8]. Pudjo Widodo. Prabowo, Herlawati, Menggunakan UML, Informatika, Bandung, 2011.

[9]. Ariyus, Dony. Pangera, Abas Ali, Sistem Operasi, Andi, Yogyakarta, 2010.

(14)

1 1.1 Latar Belakang Masalah

PT Bina San Prima Bogor sebagai salah satu anak cabang dari PT Bina San Prima yang berpusat dibandung saat ini memiliki 38 cabang yang tersebar diseluruh wilayah indonesia. PT Bina San Prima Bogor yang bergerak dalam bidang distributor dan menyediakan 3 divisi produk yang berbeda yaitu divisi produk obat-obatan, divisi produk makanan ringan dan divisi produk makanan hewan. PT Bina San Prima Bogor dan cabang PT Bina San Prima lain mempunyai masalah pada saat proses penutupan buku karena saat proses penutupan buku dilakukan maka laporan data penjualan akan ditarik dari setiap cabang, dikarenakan laporan data penjualan pada perusahaan pusat dan cabang masih menggunakan sistem antrian pengiriman singlethread.

PT Bina San Prima Bogor yang akan melakukan penarikan laporan data untuk membentuk laporan penjualan seluruh produk maka sistem yang sekarang berjalan adalah dengan menarik divisi produk secara singlethread, dengan pemrosesan divisi produk pertama hingga selesai kemudian dilanjutkan dengan divisi produk kedua hingga selesai dan seterusnya hingga divisi produk sejumlah ke-n. PT Bina San Pima sekarang memiliki lebih dari 200 macam produk yang terbagi dalam 35 divisi produk yang aktif dalam transaksi faktur, sehingga untuk membentuk laporan penjualan pada seluruh divisi produk penarikan data menjadi sangat lama dan terkadang terdapat data yang sama.

(15)

sebuah judul yaitu Analisis Penggunaan Multithreading Untuk Penarikan Laporan Data Penjualan Pada Skala Besar Di PT Bina San Prima Bogor.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah diperoleh rumusan masalah yaitu menganalisis penggunaan multithreading untuk penarikan laporan data penjualan pada skala besar.

1.3 Maksud dan Tujuan

Maksud dari penulisan tugas akhir ini adalah untuk menganalisis dan mengimplementasikan sistem multithreading kedalam sebuah aplikasi.

Tujuan yang ingin dicapai dalam penelitian ini adalah:

1. Menerapkan konsep teori antrian data laporan penjualan di PT Bina San Prima Bogor kedalam sistem.

2. Mempercepat proses pengiriman laporan data penjualan yang ada di PT Bina San Prima Bogor dengan membandingkan teori single thread dan multithread kedalam sebuah sistem.

1.4 Batasan Masalah

Batasan masalah diberikan agar tujuan penelitian tugas akhir ini tercapai dengan optimal dan terarah, berikut batasan-batasan dari masalah yang dihadapi yaitu:

1. Hasil pengolahan penarikan data berupa laporan pivot dalam bentuk Microsoft Office Excel.

2. Pengujian & implementasi sistem berbasis satu client dan satu server dengan menggunakan tools Borland Delphi.

(16)

5. Pendekatan analisis pembangunan perangkat lunak berorientasi objek dengan Unifield Modeling Language (UML).

1.5 Metodologi Penelitian

Metodologi penelitian yang akan digunakan dalam menyusun tugas akhir ini adalah metode Analisis Deskriptif, yaitu suatu metode yang bertujuan untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan, melalui metode Pengumpulan Data dan metode pembangunan perangkat lunak Waterfall.

1.5.1 Metode Pengumpulan Data

Metode Pengumpulan Data ini bertujuan untuk memperoleh data – data apa saja yang dibutuhkan dalam analisis penarikan multithreading. Berikut ini adalah metode yang dilakukan dalam tahap pengumpulan data:

1. Studi Literatur

Studi Literatur adalah sebuah metode pengambilan data dengan menggunakan beberapa buku, karya ilmiah dan e-book sebagai sumber referensi dalam membuat teori-teori yang sangat menunjang materi dalam penyusunan tugas akhir sehingga dapat membuat dokumentasi sesuai dengan yang diharapkan. 2. Observasi

Observasi adalah metode pengumpulan data dengan melakukan penelitian dan peninjauan langsung terhadap permasalahan yang diambil. Dalam hal ini, observasi dilakukan dengan meninjau langsung PT Bina San Prima Bogor sebagai objek penelitian.

1.5.2 Metode Pengembangan Perangkat Lunak

Metode pengembangan perangkat lunak pada penelitian ini menggunakan paradigma model air terjun (waterfall) seperti yang digambarkan pada gambar 1.1.

(17)

1. Requirements analysis and definition

Tahapan requirements analysis and definition merupakan tahap pengumpulan data mengenai layanan, batasan, serta tujuan sistem yang akan dibangun berdasarkan kebutuhan user. Kebutuhan didefinisikan secara detail dan disajikan sebagai spesifikasi sistem.

2. System and software design

Tahapan system and software design merupakan tahap untuk mengidentifikasi dan menggambarkan abstraksi sistem perangkat lunak beserta hubungannya. 3. Implementation and unit testing

Tahapan implementation and unit testing merupakan tahap untuk merealisasikan desain menjadi satu set atau unit program dilanjutkan dengan pengujian unit yakni dengan memverifikasi bahwa setiap unit memenuhi spesifikasinya.

4. Integration and system testing

Tahapan integration and system testing merupakan tahap penyatuan unit-unit program kemudian diuji secara keseluruhan untuk memastikan bahwa kebutuhan ataupun persayaratan perangkat lunak telah terpenuhi.

5. Operation and maintenance

(18)

Requirements Definitions

System and Software Design

Implementation and Unit Testing

Integration and System Testing

Operation and Maintenance

Gambar 1.1 Model Waterfall [10].

1.6 Sistematika Penulisan

Sistematika penulisan yang digunakan dalam penulisan laporan Tugas Akhir ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini menjelaskan tentang Latar Belakang, Rumusan Masalah, Maksud dan Tujuan, Batasan Masalah, Metodologi Penelitian dan Sistematika Penulisan. Dimaksudkan agar dapat memberi gambaran tentang urutan pemahaman dalam menyajikan laporan Tugas Akhir ini.

BAB 2 TINJAUAN PUSTAKA

Bab ini terbagi menjadi dua bagian. Bagian pertama yaitu Profil Perusahaan yang berisi penjelasan tentang sejarah perusahaan, visi dan misi, stuktur organisasi dan logo. Bagian kedua berupa landasan teori, berisi teori-teori pendukung yang digunakan untuk membangun sistem aplikasi penarikan multithread.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

(19)

sequence diagram. Tahap perancangan berisi tahapan-tahapan dalam perancangan antar muka, perancangan input dan perancangan output, jaringan semantik, perancangan method, disertai keterangan komponen yang mendukung terciptanya suatu aplikasi yang dinamis.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi hasil implementasi berdasarkan hasil analisis dan perancangan sistem seperti kebutuhan perangkat keras, kebutuhan perangkat lunak, implementasi basis data dan implementasi antarmuka.Termasuk menentukan metode pengujian yang akan dipergunakan dalam aplikasi multithreading dan pengujiannya.

BAB 5 KESIMPULAN DAN SARAN

(20)

7 2.1 Profil Perusahaan

PT Bina San Prima Bogor sebagai salah satu anak cabang dari PT Bina San Prima yang bergerak dalam bidang distributor. Berikut sejarah singkat mengenai perusahaan.

2.1.1 Sejarah Perusahaan

PT Bina San Prima didirikan pada tahun 1994, tujuan awal pendirian

adalah untuk mengatasi kendala modal keuangan distributor lokal dan kesetaraan

distribusi,yang menghambat pertumbuhan bisnis PT Sanbe Farma Pada tahun

2000 (pasca krisis moneter tahun 1998), PT Bina SanPrima membuka 10 cabang

sekaligus dalam 1 (satu) tahun.

Sejak tahun 2003, PT Bina San Prima telah menjadi perusahaan

Penanaman Modal Asing.Legenda Capital Pte.Ltd, yang berkantor pusat di

Singapura, merupakan pemegang saham utama dan pemegang saham sekunder

adalah Mr Jahja Santoso.

PT. Sanbe Farma didirikan pada tahun 1975 di Bandunzg oleh Jahja

Santoso bersaudara.Nama Sanbe merupakan singkatan dari Santoso bersaudara

(Jahja Santoso adalah seorang apoteker lulusan ITB). Kegiatan utama yaitu

memproduksi dan juga menjual obat-obatan.

PT. Sanbe pada mulanya memproduksi obat-obat etikal, tahun 1985 Sanbe

memproduksi juga obat-obatan untuk hewan.Tahun 1992, Sanbe mulai memasuki

pasar obat bebas (OTC) dengan salah satu merek andalannya yaitu Sanaflu.PT.

Sanbe Farma menduduki peringkat tertinggi diantara perusahaan farmasi di

Indonesia berdasarkan laporan IMS dengan jumlah karyawan lebih dari 1500

(21)

2.1.2 Visi dan Misi

Adapun Visi dan Misi perusahaan adalah sebagai berikut: a. Visi

Visi adalah suatu pandangan jauh tentang perusahaan, tujuan - tujuan perusahaan dan apa yang harus dilakukan untuk mencapai tujuan tersebut pada masa yang akan datang. Berikut visi pada perusahaan yaitu:

Memimpin dalam pelayanan yang sangat baik melalui Manajemen Solid dan Profesional untuk memberikan nilai signifikan untuk kepentingan nasabah dan kepala.

b. Misi

Misi adalah pernyataan tentang apa yang harus dikerjakan oleh lembaga dalam usahanya mewujudkan Visi. Berikut misi pada perusahaan yaitu:

1. Untuk melaksanakan dan untuk mencapai standar distribusi praktek yang baik.

2. Untuk melanjutkan perbaikan pada jaringan luas dan daerah.

3. Untuk mencapai ketersediaan produk yang luas kepala sekolah kami dan pertumbuhan faktur untuk memperkuat daya saing dan

kepemimpinan pasar.

2.1.3 Stuktur Organisasi

(22)

Gambar 2.1 Stuktur Organisasi

2.1.4 Logo

Logo merupakan suatu bentuk gambar atau sekedar sketsa dengan arti tertentu, dan mewakili suatu arti dari perusahaan, daerah, perkumpulan, produk, negara, dan hal-hal lainnya yang dianggap membutuhkan hal yang singkat dan mudah diingat sebagai pengganti dari nama sebenarnya. Berikut logo pada perusahaan seperti yang tercantum pada gambar 2.2.

(23)

Arti dari gambar 2.2 logo perusahaan adalah sebagai berikut :

Warna biru : Antusiasme, Spiritualitas, Percaya Diri, Stabilitas Gradasi : Cepat (FAST)

Elips : Continuous Improvement

Anak Panah : Koordinasi dan sinergi antara BSP dengan Prinsipal

BSP di dalam elips : Kebersamaan dan kerjasaman Tulisan BSP : Kokoh, menjadi the best distributor

2.2Landasan Teori

Landasan teori berisi teori-teori pendukung yang digunakan untuk membangun sistem aplikasi penarikan multithread. Landasan teori yang akan digunakan yaitu Thread, Multithread, algoritma penjadwalan, jaringan, client-server, konsep perancangan berorientasi objek, jaringan semantik, MySQL, Borland Delphi & Microsoft Excel.

2.2.1Thread

Suatu proses didefinisikan oleh resource yang digunakan dan lokasi yang akan dieksekusi. Namun ada kalanya proses-proses akan menggunakan resource secara bersama-sama. Suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang stack disebut dengan thread atau lighweigt process (LWP). Thread akan bekerja sama dengan thread yang lainnya dalam hal penggunaan bagian kode,bagian data, dan resource system operasi, seperti open file dan sinyal secara kolektif yang sering disebut dengan task [9].

Thread terdiri atas dua bentuk yaitu: a. UserThread

(24)

b. KernelThread

Thread yang didukung langsung oleh kernel. Pembuatan penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space. Karena dilakukan oleh sistem operasi, proses pembuatannya akan lebih lambat jika dibandingkan dengan threaduser [9].

2.2.1.1Multithreading

Sebuah processor, multithreading secara umum berlangsung dengan cara time-division multiplexing (multitask ing) : sebuah processor berpindah dari satu thread ke thread yang lain. Hal tersebut terjadi secara cepat sehingga user akan beranggapan bahwa suatu thread atau task berjalan secara bersamaan. Pada suatu multiprocessor atau multi-core sistem, suatu thread akan dijalankan bersamaan, dengan setiap processor atau core menjalankan sebuah thread atau task . Dukungan thread dalam bahasa pemrograman bervariasi : tidak semua memiliki bahasa pemrograman mendukung lebih dari satu eksekusi dalam sebuah program untuk dijalankan secara bersamaan [9].

Perbedaan dasar dari thread dan processes adalah :

1. Processes pada umumnya independen, sementara thread merupakan subset dari sebuah process

2. Processes memiliki alamat berbeda, sedangkan thread saling membagi alamat memori.

3. Contextswitching antara thread pada process yang sama cenderung lebih cepat dibandingkan contextswitching antara berbeapa process.

Suatu aplikasi dapat melakukan pekerjaan yang hampir sama oleh banyak client. Akan dapat terjadi suatu situasi seperti berikut :

1. Sebuah web server menerima banyak request dari client untuk menampilkan suatu web page.

(25)

Ada beberapa pendekatan yang dapat diambil untuk mengatasi masalah tersebut. Dengan pendekatan multi – threading kita dapat melakukan hal – hal sebagai berikut :

Solusi pertama :

1. Jika suatu server menerima sebuah request, server tersebut akan membuat suatu proses yang terpisah yang nantinya akan melakukan request tersebut. 2. Proses ini sangat memakan waktu dan menggunakan resource yang cukup

besar.

Solusi kedua :

Jika suatu request dibuat, suatu server akan menciptakan suatu thread lain untuk melayani request tersebut [9].

2.2.1.2Keuntungan Multithreading

Multithreading merupakan model programming dan pengeksekusian yang populer yang memungkinkan untuk banyak thread pada suatu process. Thread tersebut merupakan bagian dari process yang sama tapi dapat dieksekusikan secara terpisah. Penggunaan teknologi ini dapat digunakan untuk membuat sebuah process dieksekusikan pada banyak processor.

Keuntungan tersebut menjadikan pengeksekusian suatu operasi berjalan lebih cepat pada komputer yang memiliki banyak CPU, CPU yang memiliki banyak inti (core), atau operasi antar banyak mesin (cluster of machines). Hal ini dikarenakan thread dalam program dijalankan secara paralel.

(26)

Sebuah sistem operasi penjadwalan thread ada dua cara:

1. Preemptivemultithreading dianggap pendekatan yang lebih unggul, hal ini dikarenakan sistem operasi dapat menentukan kapan contextswitch harus dilakukan.

2. Cooperativemultithreading, merupakan suatu pendekatan dimana thread tersebut yang menentukan kapan thread tersebut akan diberhentikan.

Perangkat keras komputer tradisional tidak memiliki banyak dukungan untuk fasilitas multithreading hal ini dikarenakan perpindahan antar satu thread dengan thread yang lain dianggap lebih cepat dibandingkan keseluruhan proses contextswitch. Pada akhir 1990, suatu ide untuk menjalankan instruksi menggunakan banyak thread secara bersamaan dikenal dengan nama simultaneousmultithreading. Fitur ini diperkenalkan oleh perusahaan Intel dengan nama teknologi hyperthreading.

2.2.1.3Model Multithreading

Multithreading secara umum terbagi menjadi tiga model yaitu: 1. Many to One

Berikut gambar model multithreading many to one seperti yang tercantum pada gambar 2.3.

Gambar 2.3 Many to One [9]

(27)

2) Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. 3) Hanya satu thread pengguna yang dapat mengakses threadkernel pada

satu saat. Jadi multiple thread tidak dapat berjalan secara pararel pada multiprrosesor.

4) Contoh : Solaris Green Threads dan GNU PortabelThreads. 2. One by one

Berikut model multithreading one by one seperti yang tercantum pada gambar 2.4.

Gambar 2.4 One by one [9]

1) Model ini memetakan setiap thread tingkatan pengguna kesetiap thread. 2) Menyediakan lebih banyak concurrency dibanding model many to one.

Keuntungannya sama dengan threadkernel.

3) Kelemahan model ini adalah setiap pembuatan thread pengguna memerlukan tambahan threadkernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. 4) Contoh: windows NT/XP/2000, Linux, Solaris 9.

3. Many to Many

(28)

Gambar 2.5 Many to Many [9]

1) Model ini memultipleks banyak thread tingkatan pengguna ke threadkernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna.

2) Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadualkan oleh kernel pada satu waktu.

3) Keuntungan dari sistem ini ialah kernelthread yang bersangkutan dapat berjalan secara pararel pada multiprosesor.

2.2.2Algoritma Penjadwalan

Penjadwalan CPU menyangkut penentuan proses – proses yang ada dalam ready queue yang akan dialokasikan pada CPU. Terdapat bebreapa algoritma penjadwalan yaitu:

2.2.2.1First-Come First-Served (FCFS)

Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan ke dalam FIFO queue sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.

(29)

2.2.2.2Shortest Job-First (SJF)

Algoritma ini mempunyai cara penjadwalanyang berbeda dengan FCFS.Dengan algoritma ini maka setiap proses yang ada di readyqueue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

Ada beberapa kekurangan dari algoritma ini yaitu:

1. Susahnya untuk memprediksi burst time proses yang akan dieksekusi selanjutnya.

2. Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.

Algoritma ini dapat dibagi menjadi 2 bagian yaitu: a) Preemptive

Jika ada proses yang sedang dieksekusi oleh CPU dan terdapat proses di readyqueue dengan burst time yang lebih kecil daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di readyqueue tersebut. Preemptive SJF sering disebut juga Shortest-Remaining-Time-First Scheduling.

b) Non-preemptive

CPU tidak memperbolehkan proses yang ada di ready queue untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut mempunyai burst time yang lebih kecil [9].

2.2.2.3Priority Scheduling

(30)

1. Time limit

2. Memory requirement 3. Akses file

4. Perbandingan antara I/O Burst dengan CPU Burst 5. Tingkat kepentingan proses

PriorityScheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:

PriorityScheduling juga dapat dijalankan secara maupun non preemptive. Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut.Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat mengganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue. Kelemahan pada PriorityScheduling adalah dapat terjadinya indefinite blocking (starvation). Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya.Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap [9].

2.2.2.4Round Robin

(31)

kecil, maka sebagian besar proses tidak akan selesai dalam 1 Timequantum.Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan contextswitches time). Sebaliknya, jika Timequantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma First Come First Served. Timequantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 Timequantum [9].

2.2.3 Jaringan

Jaringan komputer adalah sekelompok komputer otonom yang dihubungkan satu dengan yang lainnya dengan menggunakan protokol komunikasi melalui media transmisi atau media komunikasi sehingga dapat saling berbagi data informasi, program–program, share perangkat keras seperti printer atau harddisk.Tujuan dibangunnya suatu jaringan komputer adalah untuk membawa data informasi dari sisi pengirim menuju penerima secara cepat dan tepat tanpa adanya kesalahan melalui media transmisi atau media komunikasi tertentu [6].

2.2.3.1Sejarah Jaringan

Konsep jaringan komputer lahir pada tahun 1940-an di Amerika dari sebuah proyek pengembangan komputer MODEL I di laboratorium Bell dan group riset Harvard University yang dipimpin profesor H. Aiken. Pada mulanya proyek tersebut ingin memanfaatkan sebuah perangkat komputer yang harus dipakai bersama. Untuk mengerjakan beberapa proses tanpa banyak membuang waktu kosong, maka dibuatlah proses beruntun (Batch Processing), sehingga beberapa program bisa dijalankan dalam sebuah komputer dengan dengan kaidah antrian.

(32)
[image:32.595.228.427.539.726.2]

untuk pertama kali bentuk jaringan (network) komputer diaplikasikan. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host komputer. Dalam proses TSS mulai nampak perpaduan teknologi komputer dan teknologitelekomunikasi yang pada awalnya berkembang sendiri-sendiri [6].

Gambar 2.6 Jaringan Komputer Model TSS

Memasuki tahun 1970-an, setelah beban pekerjaan bertambah banyak dan harga perangkat komputer besar mulai terasa mahal, maka mulailah digunakan konsep proses distribusi (distributed processing). Seperti pada Gambar 2.6 dalam proses ini beberapa host komputer mengerjakan sebuah pekerjaan besar secara paralel untuk melayani beberapa terminal yang tersambung secara seri disetiap host komputer. Dalam proses distribusi sudah mutlak diperlukan perpaduan yang mendalam antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.

(33)

Ketika harga-harga komputer kecil sudah mulai menurun dan konsep proses distribusi sudah matang, maka penggunaan komputer dan jaringannya sudah mulai beragam dari mulai menangani proses bersama maupun komunikasi antar komputer (peer to peer system) saja tanpa melalui komputer pusat. Untuk itu mulailah berkembang teknologi jaringan lokal yang dikenal dengan sebutan LAN (Local Area Network). Demikian pula ketika Internet mulai diperkenalkan, maka sebagian besar LAN yang berdiri sendiri mulai berhubungan dan terbentuklah jaringan raksasa WAN (Wide Area Network) [6].

2.2.3.2Jenis – Jenis Jaringan Komputer

Jaringan komputer yang digunakan dewasa ini dapat dikelompokkan berdasarkan luasnya area yang dapat dijangkau. Luasnya area ini pada mulanya ditentukan berdasarkan jarak jangkau dalam satuan meter.Namun dalam perkembangan selanjutnya berdasarkan peralatan dan fasilitas. Penggunaan peralatan–peralatan yang dimaksud adalah peralatan–peralatan inter jaringan seperti Repeater, Router atau Gateway dari peralatan tersebut dapat dilihat jangkauan area jaringan dan luasan segmen jaringan yang dibangun. Berdasarkan kriteria–kriteria tersebut secara umum jaringan komputer dapat digolongkan sebagai berikut [6]:

a. Local Area Network ( LAN )

Sebuah LAN adalah jaringan yang dibatasi oleh area yang relatif kecil, umumnya dibatasi oleh area lingkungan seperti sebuah perkantoran di sebuah gedung, atau sebuah sekolah, dan biasanya sekitar 1 km persegi. Komputer- komputer yang terhubung ke dalam jaringan itu biasanya disebut dengan workstation. Kebanyakan LAN menggunakan media kabel untuk menghubungkan antara satu komputer dengan komputer lainnya.

b. Metropolitan Area Network ( MAN )

(34)

sebuah Bank di dalam sebuah kota besar dihubungkan antara satu dengan lainnya.

c. Wide Area Network ( WAN )

Wide Area Networks( WAN ) adalah jaringan yang lingkupnya biasanya sudah menggunakan sarana satelit ataupun kabel bawah laut sebagai contoh keseluruhan jaringan suatu Bank yang ada di Indonesia ataupun yang ada di negara - negara lain. menggunakan sarana WAN, Sebuah Bank yang ada di Bandung bisa menghubungi kantor cabangnya yang ada di Jepang, hanya dalam beberapa menit. Biasanya WAN agak rumit dan sangat kompleks, menggunakan banyak sarana untuk menghubungkan antara LAN dan WAN ke dalam komunikasi global seperti Internet. Tapi bagaimanapun juga antara LAN, MAN dan WAN tidak banyak berbeda dalam beberapa hal, hanya lingkup areanya saja yang berbeda satu diantara yang lainnya.

d. Internet

Internet merupakan jaringan Global Internasional di seluruh dunia. Biasanya teknologi ini menggunakan suatu fasilitas layanan yang biasa kita sebut World Wide Web (WWW).

2.2.3.3Tipe – Tipe Jaringan Komputer

Terdapat dua macam model jaringan komputer, yaitu : a. Model Peer to Peer

Pada model jaringan terdapat hanya dua komputer yang saling terhubung. Masing-masing komputer mempunyai kedudukan yang setara atau setingkat sehingga komputer manapun dapat memulai (initiate) dan mengendalikan hubungan dalam jaringan. Model Jaringan ini merupakan jenis yang paling sederhana. Model jaringan peer to peer dapat terlihat pada gambar 2.8 [6].

Komputer 1 Komputer 2

(35)

b. Model ClientServer

Konsep Jaringan client-server ini membedakan dengan jelas kedudukan suatu komputer, mana yang dapat memberikan layanan jaringan (server) dan mana yang hanya meminta layanan (client). Jika suatu komputer diinstall sebagai server yang memberikan segala sumber daya (resource), contohnya : printer, modem kepada komputer lain (client) yang terhubung ke jaringan. Untuk dapat saling berkomunikasi antara server dan client, maka digunakan suatu aplikasi jaringan yang dinamakan client-server program, dimana server menggunakan aplikasi jaringan yang disebut server program, sementara client menggunakan client program untuk dapat berkomunikasi dengan server program pada server. Model jaringan client-server dapat terlihat pada gambar 2.9 [6].

Client

Server Client

Client Hub/switch

Gambar 2.9 Model Jaringan Client-Server

Beberapa sifat dari client-server diantaranya sebagai berikut : 1. Server dan Client berada pada posisi serta proses yang berbeda. 2. Server dan Client dapat dijalankan pada mesin yang sama atau berbeda. 3. Setiap proses dapat menyembunyikan informasi tersendiri

4. Komunikasi yang dilakukan bisa bersifat protokol peer to peer. Koneksitas client ke Server :

1. Server harus terlebih dahulu dijalankan (running).

(36)

3. Client harus mengetahui nama host dari server beserta port yang digunakan untuk koneksi.

4. Client mengirim pesan ke server untuk melakukan suatu pekerjaan (task ). Server dan Client bersifat Asimetrik.

2.2.3.4Topologi Jaringan

Topologi jaringan merupakan suatu struktur atau bagaimana menghubungkan antara simpul dan pusat dalam suatu jaringan. Tiap struktur mempunyai keuntungan dan kerugiannya masing-masing. Topologi yang umumnya sebagai berikut :

a. Topologi Linear BUS - Garis Lurus

[image:36.595.217.402.467.589.2]

Topologi sebuah LinearBUS / garis lurus terdiri dari satu jalur kabel utama (backbone) dimana pada masing-masing ujungnya diberikan sebuah terminator. Semua nodes pada jaringan (file server, workstation, dan perangkat lainnya) terkoneksi ke sebuah kabel utama. Jaringan-jaringan Ethernet dan Localtalk menggunakan topologi linear ini. Topologi Linear BUS / garis lurus dapat dilihat pada Gambar 2.10.

Gambar 2.10 Topologi Linear BUS / Garis Lurus b. Topologi Star – Bintang

(37)

Dia juga bertindak sebagai repeater dalam skala kecil dari aliran data.Konfigurasi pada jaringan model ini menggunakan kabel TwistedPair. Topologi jaringan Bintang / Star dapat dilihat pada Gambar 2.11.

Gambar 2.11 Topologi Jaringan Bintang/Star c. Topologi Tree – Pohon

Topologi model ini merupakan perpaduan antara topologi LinearBUS / Garis Lurus dan Bintang, yang terdiri dari kelompok-kelompok dari workstation konfigurasi Bintang yang terkoneksi kekabel utama yang menggunakan topologi LinearBUS / Garis Lurus.Topologi ini memungkinkan untuk pengembangan jaringan yang telah ada, dan memungkinkan sebuah perusahaan mengkonfigurasi jaringan sesuai dengan kebutuhannya. Topologi jaringan pohon dapat dilihat pada Gambar 2.12.

Gambar 2.12 Topologi Jaringan Pohon d. Topologi Ring – Cincin

(38)

menerima dan melewatkan informasi dari satu komputer ke komputer lain, bila alamat- alamat yang dimaksud sesuai maka informasi diterima dan bila tidak informasi akan dilewatkan. Topologi jaringan ring dapat dilihat pada Gambar 2.13.

Gambar 2.13 Topologi Jaringan Ring 2.2.4 Client-Server

Model clientserver sudah mendominasi untuk penggunaan sistem terdistribusi sejak tahun 1980.Perkembangan model ini pada akhirnya memungkinkan untuk user bekerja pada computer masing – masing yang terhubung dengan jaringan lokal (LAN). Inti dari model ini adalah bagaimana cara mengakses, menggunakan dan membagi (share) suatu sumber daya (resource) yang terdapat pada komputer lain. Pada tahun 1980, komputer dikendalikan oleh sebuah sistem operasi yang memiliki kernelmonolithic , dimana semua servis merupakan bagian dari keseluruhan perangkat lunak. Pada tahun 1990 model client – server sudah dapat digunakan untuk mengembangkan banyak aplikasi. Hal ini dikarenakan model tersebut akan mengurangi biaya baik dalam pengimplementasian dan biaya perawatan [6].

2.2.4.1Konsep Dasar Client–server

(39)

respons. Respons ini dapat berupa hasil, konfirmasi, maupun peringatan tentang kegagalan dari suatu operasi.

Sebuah model client server yang lebih terperinci memiliki 3 komponen : 1. Service : merupakan sebuah entitas perangkat lunak yang berjalan pada satu

atau lebih mesin. Service menyediakan suatu abstraksi dari rentetan operasi yang diminta oleh perangkat lunak.

2. Server : sekumpulan Service yang berjalan pada sebuah mesin.

3. Client : sebuah entitas perangkat lunak yang mengeksploitasi Service yang disediakan oleh server. Sebuah client dapat berinteraksi dengan user secara langsung, tetapi tidak harus.

Ada 3 masalah utama yang terdapat pada model client – server :

1. Jika komputer yang menjadi server mengalami gangguan sehingga tidak dapat beroperasi sebagaimana mestinya, maka servis yang diberikan oleh komputer tersebut pun tidak dapat dijalankan. Oleh karena itu, reliability dan availability dari suatu operasi yang bergantung pada banyak server merupakan suatu produk yang bergantung pada perangkat keras dan jaringan komunikasi. 2. Permasalahan kedua yaitu adanya kemungkinan timbul potensi bottleneck. Hal

ini terjadi karena penambahan client pada sistem.

3. Permasalahan terakhir timbul pada saat mengimplementasikan banyak fungsi yang serupa pada suatu sistem untuk menjaga performansi dan konsistensi. Hal ini meningkatkan biaya keseluruhan dari sistem distribusi tersebut.

2.2.5 Konsep Perancangan Berorientasi Objek

Teknologi objek menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi oleh objek. Didalam membangun sistem berorientasi objek akan menjadi lebih baik apabila langkah awalnya didahului dengan proses analisis dan perancangan yang berorientasi objek. Tujuannya adalah mempermudah programmer didalam mendesain program dalam bentuk objek-objek dan hubungan antar objek tersebut untuk kemudian dimodelkan dalam sistem nyata.

(40)

Modelling Language (UML) sebagai bahasa standar dalam Object Oriented Analysist Design (OOAD) [7].

2.2.5.1Konsep UML (Unified Modeling Language)

UML (Unified Modeling Language) merupakan pengganti dari metode analisis berorientasi objek dan desain berorientasi objek (OOA&D) yang dimunculkan sekitar akhir tahun 80-an dan awal tahun 90-an. UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson. Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group) dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang.

UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.

Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain. UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak [7].

2.2.5.2Sejarah UML

(41)

akhirnya dirilis pada bulan Juni 1996. Meskipun pada tahun 1996 ini melihat dan menerima feedback dari komunitas Software Engineering.

Dalam waktu tersebut, menjadi lebih jelas bahwa beberapa organisasi perangkat lunak melihat UML sebagai strategi dari bisnisnya, kemudian dibangunlah UML Consortium dengan beberapa organisasi yang akan menyumbangkan sumber dayanya untuk bekerja, mengembangkan, dan melengkapi UML. Di sini beberapa partner yang berkontribusi pada UML 1.0, diantaranya Digital Equipment Corporation, Hewlett-Packard, I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Relational, Texas Instruments dan Unisys. Dari kolaborasi ini dihasilkan UML 1.0 yang merupakan bahasa pemodelan yang ditetapkan secara baik, expressive, kuat, dan cocok untuk lingkungan masalah yang luas. UML 1.0 ditawarkan menjadi standarisasi dari Object Management Group (OMG) dan pada Januari 1997 dijadikan sebagai standar bahasa pemodelan.

Antara Januari–Juli 1997 gabungan group tersebut memperluas kontribusinya sebagai hasil respon dari OMG dengan memasukkan Adersen Consulting, Ericsson, Object Time Limeted, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling Software dan Taskon. Revisi dari versi UML (versi 1.1) ditawarkan kepada OMG sebagai standarisasi pada bulan Juli 1997. Dan pada bulan September 1997,versi ini dierima oleh OMG Analysis dan Design Task Force (ADTF) dan OMG Architecture Board dan Akhirnya pada Juli 1997 UML versi 1.1 menjadi standarisasi.

Pemeliharaan UML terus dipegang oleh OMG Revision Task Force (RTF) yang dipimpin oleh Cris Kobryn. RTP merilis editorial dari UML 1.2 pada Juni 1998 dan pada tahun 1998 RTF juga merilis UML 1.3 disertai dengan user guide dan memberikan technical cleanup [7].

2.2.5.3Tipe-Tipe Diagram UML

(42)

a. Use Case Diagram

Use Case Diagram digunakan untuk menggambarkan konteks sistem yang akan dibangun dan fungsionalitas yang disediakan oleh sistem itu. Use Case Diagram juga menggambarkan siapa (atau apa) berinteraksi dengan sistem. Di dalam sistem hanya terdapat satu user.

b. Class Diagram

Class diagram digunakan untuk menunjukan hubungan dan eksistensi sebuah class dari sudut pandang logis dalam sistem. Sebuah Class Diagram merepresentasikan struktur class yang membentuk arsitektur dan perilaku sistem dalam proses desain dan analisis. Class diagram memberikan gambaran secara menyeluruh tentang object dan class serta relasinya pada arsitektur sistem yang dibangun. Class diagram menyediakan fasilitas berbagi model sehingga model yang telah dibangun bisa digunakan kembali (reusable) untuk pemodelan yang lebih rinci pada perilaku dinamis. Notasi pada class diagram bisa digunakan untuk menjelaskan Object Oriented Programming, sehingga semua konsep Object Oriented Programming bisa di jelaskan menggunakan notasi Class diagram.

c. Statechart Diagram

Statechart Diagram menggambarkan semua state yang dimiliki oleh suatu objek dari suatu class dan keadaan yang menyebabkan state berubah. d. Sequence Diagram

(43)

e. Collaboration Diagram

Collaboration Diagram menggambarkan kolaborasi dinamis seperti sequence diagram. Dalam menunjukan pertukaran pesan, collaboration diagram menggambarkan objek dan hubungannya.

f. Activity Diagram

Activity diagram merupakan cara menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses yang dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Struktur diagram ini mirip flowchart atau Data Flow Diagram (DFD) pada perancangan terstruktur. Activity diagram sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.

g. Component Diagram

Menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan diantaranya. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lainnya.

h. Package Diagram

(44)

i. Deployment Diagram

Deployment diagram digunakan untuk menunjukan alokasi artefak pada node dalam desain fisik sebuah sistem. Sebuah deployment diagram mewakili sebuah gambaran ke dalam struktur artefak suatu sistem. Deployment diagram lebih berfokus pada aspek fisik dari object-oriented system. Dengan menggunakan deployment diagram, gambaran mengenai distribusi komponen dan relasinya dengan sistem maupun platform tempat sistem berjalan bisa digambarkan dengan lebih jelas, sehingga dengan menggunakan deployment diagram, gambaran akan interaksi antara software dan hardware pada sistem akan terlihat lebih jelas [7].

2.2.6 Jaringan Semantik

Jaringan semantik adalah gambaran pengetahuan grafis yang menunjukkan hubungan antar berbagai objek, terdiri dari lingkaran-lingkaran yang dihubungkan dengan anak panah yang menunjukkan objek dan informasi tentang objek-objek tersebut. Gambar berikut menunjukkan representasi pengetahuan menggunakan jaringan semantik.

2.2.7 MySQL

MySQL adalah sebuah sistem manajemen database relasi (relational database management system) yang bersifat “terbuka” (open source).Terbuka maksudnya adalah MySQL boleh di-download oleh siapa saja, baik versi kode program aslinya maupun versi binernya dan dapat digunakan secara (relatif) gratis baik untuk dimodifikasi sesuai dengan kebutuhan seseorang maupun sebagai suatu program aplikasi komputer.

2.2.7.1Sejarah MySQL

Sejarah MySQL yang merupakan hasil buah pikiran dari Michael “Monty”

(45)

ditulisnya program MySQL adalah untuk mengembangkan aplikasi web yang digunakan salah satu klien MySQL AB.

2.2.8 Borland Delphi

Delphi adalah paket bahasa pemrograman yang bekerja dalam sistem operasi Windows.Delphi merupakan bahasa pemrograman yang mempunyai cakupan kemampuan yang luas dan sangat canggih.

Kelebihan-kelebihan yang dapat diambil ketika seorang pengembang perangkat lunak menggunakan Borland Delphi adalah :

1. Delphi mendukung Pemrograman Berorientasi Objek (Object Oriented Programming).

2. Hasil dari proses kompilasi berupa sebuah file yang dapat dieksekusi (executabel file) sehingga mempermudah dalam pendistribusian program dan mengurangi banyaknya file pendukung.

3. Delphi menyediakan banyak sekali komponen yang dapat digunakan. Selain itu banyak juga komponen yang bersumber dari pihak ketiga yang biasanya disertai dengan dokumentasi, source code dan lain-lain.Komponen dari pihak ketiga bisa yang komersil atau free.

4. Mendukung banyak database server (MySQL, SQL Server, Interbase, Oracle dll) sehingga dapat mempermudah dalam membuat aplikasi database.

5. Borland Delphi menyediakan fasilitas yang luas mulai dari fungsi membuat form hingga untuk menggunakan format file berbasis data yang popular seperti Dbase dan Paradoks.

2.2.8.1Keistimewaan MySQL

Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL.

1. Portability

(46)

2. Open Source

MySQL didistribusikan secara Open Source, sehingga dapat digunakan secara bebas.

3. Multi-user

MySQL dapat digunakan oleh beberapa Userdalam waktu yang bersamaan tanpa mengalami masalah.Hal ini memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan.

4. Performance Tuning

MySQL memiliki kecepatan yang tinggi dalam menangani query, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Column Types

MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, timestamp, year, set dan enum.

6. Command dan Function

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.

7. Security

MySQL memiliki lapisan lapisan sekuritas seperti level subnetmask,namahost, dan izin akses Userdengan sistem perizinan yang mendetail serta password terenkripsi.

8. Scalability dan Limits

MySQL mampu menangani database dengan skala besar, dengan jumlah records lebih dari 50 juta dan 60 juta tabel serta 5 miliar baris. Selain itu, batas indeks yang dapat ditampung mencapai 32 indeks pada setiap tabelnya.

9. Connectivity

MySQL dapat melakukan koneksi dengan client menggunakan protocol TCP/IP, Unix Socet (UNIX), atau Named Pipes (NT).

10. Localisation

(47)

11. Interface

Interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface)

12. Client dan Tools

Dilengkapi dengan berbagai Tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.

13. Struktur Tabel

(48)

35 3.1 Analisis Sistem

Analisis sistem yang sedang berjalan merupakan kegiatan mempelajari interaksi sistem, prosedur dan data informasi yang terkait. Pada bagian analisis sistem ini akan dibahas mengenai analisis masalah, analisis penerapan teori antrian, analisis penggunaan multithreading, analisis kebutuhan fungsional dan analisis kebutuhan fungsional. Kegiatan ini memetakan suatu sistem pada model yang dapat menganalisis seluruh aspek yang terlibat dalam sistem tersebut.

3.1.1 Analisis Masalah

Proses pengiriman laporan data dengan menggunakan sistem single thread belum tentu bisa mengoptimalkan sistem kerja prosesor dan proses pengiriman data laporan itu sendiri. Hal ini disebabkan belum adanya sistem yang bisa mengoptimalkan kinerja prosesor sehingga bisa mempercepat proses pengiriman data.

Berdasarkan hal tersebut penyusun mencoba untuk membuat suatu sistem yang lebih baik untuk proses pengiriman data. Dengan menggunakan sistem multithreading yang mengizinkan beberapa thread terjadi dalam sebuah proses, tentu bisa mempercepat proses pengiriman laporan data serta mengoptimalkan proses kinerja prosesor. Untuk lebih mengenal sistem multithreading maka diambil sebuah contoh studi kasus pada perusahaan besar yang bergerak dalam bidang distributor yaitu PT Bina San Prima Bogor sebagai salah satu anak cabang dari PT Bina San Prima.

(49)

dengan divisi produk kedua hingga selesai dan seterusnya hingga divisi produk sejumlah ke-n.

3.1.2 Analisis Penerapan Teori Antrian

Analisis penerapan teori antrian ini menggunakan penjadwalan algoritma First-Come First-Served Scheduling (FCFS) ini, merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan ke dalam queue sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi. Untuk mengenal lebih jelas tentang penerapan teori antrian FCFS didalam pengiriman laporan data maka diberikan contoh kasus.

(50)

Makanan ringan Obat -

obatan Makanan

hewan Server

Server Server

Input Output

Queue

Thread Obat -

obatan Makanan

hewan

Makanan hewan

Gambar 3.1 Penerapan teori antrian PT Bina San Prima Bogor

3.1.3 Analisis Penggunaan Multithreading

Analisis penggunaan multithreading merupakan suatu proses yang mengimplementasikan sistem yang akan digunakan kedalam suatu aplikasi. Untuk memperjelas penggunaan multithreading ini maka diberikan contoh kasus berdasarkan proses pengiriman data antara single thread dengan multithreading.

PT Bina San Prima Bogor akan melakukan proses evaluasi dimana proses evaluasi ini dilakukan rutin setiap bulannya. PT Bina San Prima Bogor ini memasarkan tiga jenis produk yang berbeda yaitu produk pertama adalah makanan ringan produk kedua adalah obat-obatan dan produk yang ketiga adalah makanan hewan.

(51)

Makanan ringan

Makanan hewan Obat - obatan

0 5 10 15 20 25 30 35 40

Gambar 3.2 Proses Penarikan Laporan Single Thread

Pada gambar 3.2 proses penarikan laporan data menggunakan single thread hanya mengijinkan satu proses terjadi sehingga pada gambar 3.3 proses penarikan laporan data makanan dimulai dari 0 sampai waktu penarikan selesai yaitu 15 kemudian proses penarikan laporan data Obat – obatan dimulai dari 15 sampai 25 dan proses laporan penarikan laporan produk makanan hewan dimulai dari 25 sampai 40. Dengan single thread jika ada tiga produk yang mempunyai waktu yang berbeda dan akan dilakukan proses penarikan laporan data maka akan terjadi antrian penarikan laporan data.

Makanan ringan

(52)

Pada gambar 3.3 proses penarikan laporan data dengan menggunakan multithreading yang mengijinkan beberapa thread terjadi dalam sebuah proses penarikan maka laporan data penarikan dimulai secara bersamaan dengan jeda waktu tertentu dari proses pertama. Dari kedua proses diatas dapat ditarik kesimpulan seperti pada tabel 3.1.

Tabel 3.1 Kesimpulan Hasil Data Penarikan

No

Proses penarikan Awal penarikan

1 single thread Harus menunggu proses selesai baru bisa melakukan proses penarikan kembali, waktu yang dibutuhkan untuk penarikan single thread

adalah 40 detik.

2 multithreading Penarikan data dimulai secara bersamaan dengan menunggu jeda waktu proses pertama berjalan waktu yang dibutuhkan untuk melakukan proses multithread adalah 17 detik.

3.1.4 Analisis Kebutuhan non-Fungsional

Analisis kebutuhan non fungsional menggambarkan kebutuhan sistem yang menitik beratkan pada properti prilaku yang dimiliki oleh sistem, diantaranya kebutuhan perangkat keras, perangkat lunak, serta user sebagai bahan analisis kekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yang akan diterapkan.

3.1.4.1Analisis Kebutuhan Perangkat Keras

(53)

Tabel 3.2 Perbandingan Kebutuhan Perangkat Keras

Client Server

a. Prosessor 2Ghz a. Prosessor 2Ghz

b. Ram 2 GB b. Ram 4 GB

c. Hardisk 500 GB c. Hardisk 1TB

d. Keyboard dan Mouse d. Keyboard dan Mouse

e. Monitor 17” e. Monitor 17”

f. Operating sistem yang digunakan adalah Windows Xp,7

f. Operating sistem yang digunakan adalah Windows Xp,7

3.1.4.2Analisis Kebutuhan Perangkat Lunak

Perangkat lunak atau software adalah program yang berisi kumpulan instruksi untuk melakukan proses pengolahan data. Berikut perangkat lunak yang digunakan dalam pembangunan aplikasi multithreading adalah:

a. Mysql

b. Borland Delphi c. Microsotf Office Excel d. Microsof Office visio 2007 e. Rational Rose

3.1.4.3Analisis Pengguna Sistem

Analisis pengguna sistem dimaksudkan untuk mengetahui siapa saja aktor yang terlibat dalam menjalankan sistem. Pengguna atau user disini bertugas menganalisis dua sistem aplikasi yang akan digunakan dan membandingkan aplikasi mana yang bekerja lebih baik. Berikut ini karakteristik pengguna sistem yang ditunjukan oleh tabel 3.3.

Tabel 3.3 Karakteristik Pengguna Sistem Pada Perusahaan

Pengguna Usia Hak Akses Tingkat Pendidikan

(54)

3.1.4.4Analisis Metode Multithreading

Analisis metode multithreading dilakukan untuk memberikan gambaran terhadap pengertian dan model yang akan diambil berdasarkan kebutuhan sistem. Multithreading adalah cara pengeksekusian yang mengijinkan beberapa thread terjadi dalam sebuah proses, saling berbagi sumber daya tetapi dapat dijalankan secara independen. Model multithreading yang akan dipakai dalam sistem aplikasi ini adalah model many to many seperti contoh pada gambar 3.4.

Makanan ringan Makanan ringan

Makanan hewan

Obat - obatan Obat - obatan

Makanan hewan

Data Center

Gambar 3.4 Sistem Penarikan Laporan Data Multithread

Gambar 3.4 terlihat bahwa sebuah processor berpindah dari satu thread ke thread yang lain. proses berjalan secara bersamaan berpindah dari satu thread ke thread yang lain. Hal tersebut terjadi secara cepat sehingga user akan beranggapan bahwa suatu thread atau task berjalan secara bersamaan.

3.1.4.5Analisis Client Server

(55)

client program untuk dapat berkomunikasi dengan server program pada server. Model client-server yang digunakan dapat terlihat pada gambar 3.5.

Client

Server Client

Client Hub/switch

Gambar 3.5 Model Jaringan Client-Server

Topologi yang akan digunakan dalam Client Server ini berupa topologi pohon karena topologi model ini merupakan perpaduan antara topologi Linear BUS / Garis Lurus dan Bintang, yang terdiri dari kelompok-kelompok dari workstation konfigurasi Bintang yang terkoneksi ke kabel utama yang menggunakan topologi Linear BUS / Garis Lurus. Topologi ini memungkinkan untuk pengembangan jaringan yang telah ada, dan memungkinkan sebuah perusahaan mengkonfigurasi jaringan sesuai dengan kebutuhannya. Model topologi yang digunakan dapat terlihat pada gambar 3.6.

Gambar 3.6 Topologi Jaringan Pohon

3.1.5 Analisis Kebutuhan Fungsional

(56)

lunak dan perangkat keras dari suatu sistem. Adapun sebagai alat bantu yang digunakan untuk menggambarkan atau memodelkan sistem secara umum yang akan dibangun yaitu dengan menggunakan Unified Modeling Language (UML).

Pemodelan sistem dengan menggunakan Unified Modeling Language (UML) memiliki beberapa tahapan. Tahap-tahap pemodelan dalam analisis tersebut antara lainUsecase diagram, Sequence Diagram, Activity Diagram, Class Diagram.

A. Use case Diagram

Diagram Use case merupakan bagian tertinggi dari fungsionalitas yang dimiliki sistem yang akan menggambarkan bagaimana seseorang atau aktor akan menggunakan dan memanfaatkan sistem. Diagram ini juga mendeskripsikan apa yang akan dilakukan oleh sistem. Use case terdiri dari tiga bagian yaitu identifikasi aktor, identifikasi Use case dan skenario Use case.

Diagram ini menggambarkan transisis dari perubahan keadaan suatu objek, akibat dari stimulus/input yang diterimanya, statechart diagram menelusuri individu-individu obyek melalui keseluruhan daur hidupnya, menspesifikasikan semua urutan yang mungkin dari pesan-pesan yang akan diterima obyek tersebut, bersama-sama dengan tanggapan atas pesan-pesan tersebut.

Gambar 3.7 Use case penarikan laporan data Add Principal

penjadwalan penarikan data user

(f rom Actors)

Set Priority

sistem

(57)

Gambar 3.8 menjelaskan bahwa aktor sebagai pengguna aplikasi bisa memilih apa saja yang akan diproses atau jika perlu menambah data sebelum proses penarikan laporan data dijalankan. Actor disini bisa memilih salah satu dari dua proses yang ada yaitu proses single thread atau proses multithread untuk dijalankan.

1. Identifikasi Aktor

Identifikasi aktor adalah Aktor yang berperan dalam menjalankan sistem, aktor yang berperan dapat dilihat pada tabel 3.4.

Tabel 3.4 Aktor Sistem

Aktor Deskripsi

Pengguna

Merupakan aktor yang menggunakan aplikasi single thread atau

multithreading untuk penarikan laporan data Admin

Merupakan aktor yang akan mengelola aplikasi multithreading.

Dari tabel 3.4 diperoleh keterangan pengguna aplikasi bisa melakukan penarikan data dengan menggunakan aplikasi single thread atau multithread. Sedangkan admin mengelola kedua proses yang dijalankan.

2. Skenario Use case

(58)

Tabel 3.5 Skenario Use case Add Principal

Identifikasi Nama Use case Add principal

Deskripsi Fungsional untuk menambah data principal

Aktor Pengguna

Tujuan Menambahkan divisi principal

Keadaan Awal Sistem menampilkan informasi principal yang ada

Skenario Utama

Aksi Aktor Reaksi sistem

1. Menambahkan data principal

2. Menekan tanda tambah

3. Melakukan pengecekan data apabila data sesuai maka akan kelangkah 5, jika data tidak sesuai maka akan kelangkah 4. 4. Menampilkan data yang dimasukan tidak sesuai maka akan kembali kelangkah 1

5. menyimpan data principal

[image:58.595.98.526.131.349.2]

Kondisi Akhir Menampilkan data principal yang baru ditambahkan

Tabel 3.6 Skenario Use case Set Priority

Identifikasi Nama Use case Set Priority

Deskripsi Fungsionalitas untuk memilih data yang dipriority

Aktor Pengguna

Tujuan Memilih pilihan data

Keadaan Awal Sistem menampilkan informasi principal yang ada

Skenario Utama

Aksi Aktor Reaksi sistem

1. Memilih periode awal dan akhir 2. Memilih jenis penjualan 3. Memilih jenis Principal

4. Mengklik Penjadwalan penarikan data

5. Melakukan pengecekan data apabila data sesuai maka akan kelangkah 7, jika data tidak sesuai maka akan kelangkah 6. 6. Menampilkan data yang dipilih tidak sesuai maka akan kembali kelangkah 1.

7. Menampilkan informasi penjadwalan

(59)

Tabel 3.7 Skenario Use case Penjadwalan penarikan data

Identifikasi Nama Use case Penjadwalan penarikan data

Deskripsi Fungsionalitas untuk memilih penjadwalan penarikan data

Aktor Pengguna

Tujuan Memilih Antrian

Keadaan Awal Sistem menampilkan informasi produk yang ada

Skenario Utama

Aksi Aktor Reaksi sistem

1. Memilih periode awal dan akhir 2. Memilih jenis penjualan 3. Memilih jenis Principal

4. Mengklik Penjadwalan penarikan data

5. Melakukan pengecekan data apabila data sesuai maka akan kelangkah 7, jika data tidak sesuai maka akan kelangkah 6. 6. Menampilkan data yang dipilih tidak sesuai maka akan kembali kelangkah 1.

7. Menampilkan informasi penjadwalan 8. Memilih penjadwalan antian

jika memilih proses singlethread

maka kelangkah 9, jika memilih proses multithread maka kelangkah 12

9. Memilih proses singlethread

10. Menjalankan proses penarikan secara singlethread Penarikan berjalan secara sendiri-sendiri sehingga didapatkan waktu dari hasil penarikan selama 40detik.

11. Mengeksport database to pivot 12. Memilih proses

multithreading

13. Menjalankan proses penarikan secara singlethread Penarikan berjalan secara sendiri-sendiri sehingga didapatkan waktu dari hasil penarikan selama 17detik.

14. Mengeksport database to pivot

Kondisi Akhir Setelah melakukan proses penarikan singlethread didapatkan waktu selama 40detik sedangkan proses penarikan multithreading

didapatkan waktu selama 17 detik, sehingga dapat diambil kesimpulan bahwa proses penarikan dengan menggunakan

(60)

B. ActivityDiagram

Activity diagram adalah teknik untuk mendeskripsikan logika prosedural,

proses bisnis, aliran kerja dalam banyak kasus, menggambarkan rangkaian aliran dari aktivitas, dan digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti Use case atau interaksi.

Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi

perbedannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa.

1. Acivity Diagram Add principal

Gambar 3.8 Acivity Diagram Add principal

m anam bahkan data principal

klik tom bol tam bah

m elakukan pengecekan

m enyim pan data principal

data tidak s es uai

data s es uai

(61)

2. Acivity Diagram Set Priority

Gambar 3.9 Acivity Diagram Set priority

memilih periode awal dan akhir

memilih jenis penjualan

memilih jenis principal

mengklik penjadwalan penarikan data

melakukan pengecekan data

memanpilkan informasi penjadwalan data tidak sesuai

data sesuai

(62)

3. Acivity Diagram Penjadwalan penarikan data

Gambar 3.10 Acivity Diagram Penjadwalan penarikan data

memilih periode awal dan akhir

memilih jenis penjualan

memilih jenis principal

mengklik penjadwalan penarikan data

memilih penjadwalan antrian

melakukan pengecekan data

menampilkan informasi penjadwalan antiran

menjalankan proses single thread

menjalankan proses multithread

melakukan proses penarikan

menampilkan pivot to report data tidak sesuai

data sesuai

singlethread

multithread

(63)

C. Class Diagram

Tahap pertama yang dilakukan dalam melakukan analisis berorientasi objek menggunakan UML adalah menentukan aktor atau pengguna sistem. Kata aktor dalam konteks UML, menampilkan peran (roles) yang pengguna (atau sesuatu di luar sistem yang dikembangkan yang dapat berupa perangkat keras, end user, sistem yang lain, dan sebagainya

Gambar

Gambar 2.6 Jaringan Komputer Model TSS
Gambar 2.10 Topologi Linear BUS / Garis Lurus
Tabel 3.6 Skenario Use case Set Priority
Gambar 3.12 Sequence  Add principal
+7

Referensi

Dokumen terkait

Itulah sebabnya kawan-kawan, sejak 8 Mei 2009, Perhimpunan Rakyat Pekerja menetapkan, bahwa tanggal 8 Mei sebagai HARI PERJUANGAN BURUH PEREMPUAN INDONESIA untuk melengkapi Hari

ekonomi yang maksimum dalam pemanfaatan sumberdaya ikan pelagis kecil; dan 3) menentukan tingkat kelayakan usaha perikanan purse seine di perairan laut Sibolga, provinsi

Dari hasil analisis yang dilakukan, penulis menyarankan agar perusahaan dapat menggunakan analisis break even point dan margin of safety sebagai alat perencanaan laba

Segar Alam Abadi yang dalam hal ini kami bergerak di bidang produksi berbagai macam barang elektronik berupa berbagai kunci digital dan finger print bermaksud untuk

Perjalanan lembaga pendidikan Islam (langgar) ini menjadi bukti pengaruh ajaran agama Islam bisa diterima dengan total oleh masyarakat lokal Madura.. Mereka

Divisi komunikasi korporat PLN perlu menjalin hubungan yang harmonis antara karyawan baik di pusat maupun di unit/cabang perusahaan, hal ini dapat dilihat dengan

Makalah ini bertujuan untuk mengkaji proses koreksi terrain dan contoh penerapannya pada citra Landsat TM; Kemudian artikel tentang “Perbandingan Teknik Orthorektifikasi Citra

Untuk menggambarkan cara kerja algoritma lebih baik, akan dibuat suatu program sederhana yang dapat menghitung nilai PageRank jika diberikan gambaran dari jaringan yang