• Tidak ada hasil yang ditemukan

Pengembangan Antarmuka Pengguna Berbasis Web untuk Sistem Komputer Cluster

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Antarmuka Pengguna Berbasis Web untuk Sistem Komputer Cluster"

Copied!
31
0
0

Teks penuh

(1)

PENGEMBANGAN ANTARMUKA PENGGUNA BERBASIS WEB

UNTUK SISTEM KOMPUTER CLUSTER

MELKI HASALI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*

Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Antarmuka Pengguna Berbasis Web Untuk Sistem Komputer Cluster adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, April 2013

(4)

ABSTRAK

MELKI HASALI. PENGEMBANGAN ANTARMUKA PENGGUNA

BERBASIS WEB UNTUK SISTEM KOMPUTER CLUSTER. Dibimbing oleh HENDRA RAHMAWAN.

Proses penyelesaian algoritme dapat diselesaikan dengan berbagai cara, salah satunya menggunakan komputer cluster. Dalam proses pengeksekusian program, digunakan shell command sebagai jembatan penghubung antara pengguna dan sistem serta MPI (Message Passing Interface) sebagai standar library pemrograman paralel. Penelitian ini mengembangkan suatu sistem untuk mempermudah pengguna dalam proses eksekusi program paralel pada komputer cluster dengan menggunakan aplikasi berbasis web yang diimplementasikan menggunakan library PHPseclib (PHP secure communication library) yang berfungsi menghubungkan komunikasi antar komputer sehingga dapat melakukan eksekusi pada banyak komputer secara paralel. Pengujian sistem menunjukkan bahwa sistem ini dapat diakses secara multiuser pada registered user dan premium user. Akan tetapi pada free user proses eksekusinya dilakukan secara bergiliran dengan urutan first in first out (FIFO).

Kata kunci: PHPseclib, komputer cluster, pemrograman paralel.

ABSTRACT

MELKI HASALI. THE DEVELOPMENT OF WEB BASED USER INTERFACE FOR CLUSTER COMPUTER SYSTEM. Supervised by HENDRA RAHMAWAN.

The process of solving algorithms can be resolved in many ways, one of them is using a computer cluster. In the process of program execution, the shell command is used as the bridge connector between user and system as well as the MPI (Message Passing Interface) as the standard library for parallel programming. This research developed a system to facilitate users in the process of parallel program execution on a computer cluster using a web-based application that was implemented using PHPseclib (the PHP secure communications library). It served to connect the communication between computers so it could conduct an execution on many computers in parallel way. The testing of system showed that the system was accessible for multiuser in registered user and premium. But the execution process was done in turns by the order of first in first out (FIFO) for free user.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer

pada

Departemen Ilmu Komputer

PENGEMBANGAN ANTARMUKA PENGGUNA BERBASIS WEB

UNTUK SISTEM KOMPUTER CLUSTER

MELKI HASALI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(6)
(7)

Judul Skripsi : Pengembangan Antarmuka Pengguna Berbasis Web untuk Sistem Komputer Cluster

Nama : Melki Hasali NIM : G64080041

Disetujui oleh

Hendra Rahmawan, SKom, MT Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi., MKom Ketua Departemen

(8)
(9)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Juni 2011 ini ialah dengan judul Pengembangan Antarmuka Pengguna Berbasis Web Untuk Sistem Komputer Cluster. Penyelesaian penelitian ini tidak luput dari dukungan dan bantuan berbagai pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih sebesar-besarnya kepada:

1. Kedua orang tua tercinta Ayahanda Y. Hasali dan Ibunda Ermi Rahayu, kakak penulis Fredi Hasali, dan adik penulis Eunike Hasali dan segenap

keluarga besar penulis atas do’a, dukungan dan semangat yang tidak

pernah berhenti diberikan selama ini sehingga penulis dapat menyelesaikan studi di Departemen Ilmu Komputer IPB.

2. Bapak Hendra Rahmawan S.Kom, M.T selaku dosen pembimbing. Bapak Dr. Eng. Heru Sukoco, S.Si, M.T dan Ibu Ir. Sri Wahjuni, M.T selaku dosen penguji, atas waktu, ilmu, saran, nasihat, dan masukan yang diberikan.

3. Catur Purbo Yuwono dan Asrori Hudri Hariri atas segala bantuan dan ilmu yang diberikan kepada penulis.

4. Irvan Ahadi, Bambang Wijonarko, dan Hanif Amal Robbani sebagai teman satu bimbingan yang selalu memberikan motivasi kepada penulis. 5. Teman-teman Kementrian Pendidikan Halim, Muti, Wiggo, Eva, Fatkur,

Dewi, Laras, Ari, Sigit, Lala, Amal, Panji, Mbak Ratih, Kak Rico, serta teman-teman penulis di BEM KM IPB.

6. Teman-teman seperjuangan Catur, Nanda, Dipo, Halim, Irvan, Asrori, Putra, Fulsi, Ryan, Jaka, Elbie, Yansen, Panji, Dani, Dayat, Firman, dan teman-teman penulis di Departemen Ilmu Komputer khususnya angkatan 45, serta teman-teman lain yang tidak dapat penulis sebutkan satu per satu atas bantuan, motivasi, serta semangat kepada penulis.

7. Departemen Ilmu Komputer, Bapak/Ibu Dosen dan Tenaga Kependidikan yang telah begitu banyak membantu baik selama pelaksanaan penelitian ini maupun sebelumnya.

Kepada semua pihak lainnya yang telah memberikan kontribusi yang besar selama pengerjaan penelitian ini yang tidak dapat disebutkan satu-persatu, penulis ucapkan terima kasih banyak. Segala kesempurnaan hanya milik Allah Subhanahu

wata’ala. Semoga hasil penelitian ini dapat bermanfaat, Amin.

Bogor,Desember 2013

(10)
(11)

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

PENDAHULUAN 1

Latar Belakang 1

Tujuan Penelitian 1

Manfaat Penelitian 1

Ruang Lingkup Penelitian 2

TINJAUAN PUSTAKA 2

MPI (Message Passing Interface) 2

Network File System (NFS) – Server & Client 3

Komputer Paralel dan Komputer Cluster 3

METODE 5

Analisis 5

Perancangan 5

Implementasi 5

Pengujian Sistem 6

HASIL DAN PEMBAHASAN 6

Analisis 6

Perancangan 6

Implementasi 9

Pengujian Sistem 11

SIMPULAN DAN SARAN 14

Simpulan 14

Saran 14

DAFTAR PUSTAKA 15

LAMPIRAN 16

(12)
(13)

DAFTAR TABEL

1 Tabel fungsional sistem ... 6

2 Tabel pengujian sistem ... 13

DAFTAR GAMBAR

Gambar 1 Contoh arsitektur komputer cluster (Kaminsky 2007) ... 4

Gambar 2 Metode penelitian ... 5

Gambar 3 Contoh arsitektur sistem ... 7

Gambar 4 Contoh arsitektur sistem ... 7

Gambar 5 Alur kerja sistem antarmuka komputer cluster registered user ... 8

Gambar 6 Alur kerja sistem antarmuka komputer cluster free user ... 8

Gambar 7 Alur kerja sistem antarmuka komputer cluster premium user ... 9

Gambar 8 Use Case komputer cluster ... 10

Gambar 9 Use Case komputer cluster ... 10

Gambar 10 Antarmuka aplikasi pada free user ... 12

Gambar 11 Antarmuka aplikasi pada premium user ... 12

Gambar 12 Antarmuka aplikasi pada admin ... 13

DAFTAR LAMPIRAN

1 Program menghitung pendekatan nilai (pi) ... 16

(14)

PENDAHULUAN

Latar Belakang

Pada era ini, semakin banyak algoritme yang membutuhkan sumberdaya ekstra dalam proses eksekusinya. Proses penyelesaian algoritme seperti ini dapat diselesaikan dengan menggunakan sebuah komputer super, yaitu sebuah komputer yang memiliki kemampuan berkali lipat dari komputer biasa tetapi memiliki harga yang mahal. Sebagai alternatif dari super komputer, dapat dibangun komputer berkinerja tinggi dengan biaya rendah yang disebut komputer cluster. Komputer cluster adalah teknik mengelompokkan beberapa komputer (yang banyak ditemui di pasaran) dalam sebuah jaringan, sehingga diperoleh sebuah kesatuan sistem komputer yang memiliki kinerja yang lebih baik (Gropp 2003).

Salah satu standar pemrograman yang biasanya digunakan pada sistem cluster adalah MPI. Sayangnya, penggunaan implementasi MPI dalam pengoperasian komputer cluster kebanyakan masih menggunakan command line interface. Dengan antarmuka tersebut, pengguna umum biasanya kesulitan dalam menjalankan program paralel karena biasanya terdapat beberapa parameter yang harus ditentukan. Parameter-parameter seperti jumlah proses, daftar nama komputer dan nama program yang akan dijalankan harus dituliskan pada command line. Untuk memudahkan pengguna, maka dalam penelitian ini akan dikembangkan sebuah antarmuka pengguna berbasis web yang dapat membantu pengguna dalam mengatur pengoperasian sistem paralel pada sebuah komputer cluster. Sistem yang berbasiskan web akan lebih mudah diakses dari manapun dan dari platform apapun. Hasil dari penelitian ini diharapkan dapat diimplementasikan dengan baik di berbagai lingkungan cluster komputer. Selain itu, dengan adanya sistem ini diharapkan penggunaan sistem cluster oleh umum dapat lebih efisien.

Tujuan Penelitian

Tujuan dari penelitian ini adalah membangun aplikasi antarmuka pengguna komputer paralel cluster yang dapat mengatur kebutuhan sistem berbasis web dan meningkatkan kapasistas pengguna dalam menjalankan program.

Manfaat Penelitian

(15)

2

Ruang Lingkup Penelitian Ruang lingkup dari penelitian ini adalah :

1. Komputer yang digunakan sebagai host adalah komputer pribadi dengan spesifikasi:

a. Processor AMD A6-3400M APU (4CPUs), ~1.4GHz b. RAM 4 GB

c. Sistem Operasi Linux Ubuntu 12.04 i386 d. Hard drive 750GB

2. Komputer yang digunakan sebagai client sebanyak dua buah menggunakan mesin virtual dengan aplikasi berupa Virtual Box dengan memory sebesar 512 MB dan hard drive 8 GB dengan menggunakan sistem operasi Linux Ubuntu 12.04.

3. Tiap komputer (node) terinstallasi dengan MPICH2-1.4.1 sebagai standar library pengenalan dasar pemrograman sistem paralel dan menggunakan NFS-Server sebagai layanan berbagi file antar node.

4. Proses kompilasi berkas menggunakan MPI dan GCC, dan sistem tidak dapat menerima perintah std.in.

TINJAUAN PUSTAKA

MPI (Message Passing Interface)

MPI adalah sebuah standar library pengenalan dasar pemrograman sistem paralel (Gropp 2003). MPI dapat digunakan dengan berbagai bahasa pemrograman seperti bahasa C dan Fortran. Operasi utama yang dilakukan oleh standar MPI adalah:

1. Point-to-point communication

MPI Point-to-point Communication adalah komunikasi antar dua proses, yaitu proses yang bertugas mengirim data atau operasi, dan proses lainnya yang bertugas menerima data atau operasi tersebut.

2. Collective Communication

MPI Collective Communication melakukan komunikasi yang dipanggil oleh semua proses dalam communicator dan melibatkan seluruh proses tersebut (Quinn 2004)

(16)

3 Network File System (NFS) – Server & Client

Network File System (NFS) adalah salah satu layanan (service) yang dapat memungkinkan suatu komputer untuk melakukan proses mount suatu direktori pada komputer lain. Dengan menggunakan NFS, suatu komputer dapat berbagi file, bahkan program antar sesama client yang terhubung dalam server utama. NFS juga memungkinkan suatu komputer untuk melakukan pengaktifan/penggunaan (mounting) peralatan pada komputer lain yang terhubung ke jaringan.

Terdapat dua versi NFS yaitu NFS versi 2 (NFSv2) dan NFS versi 3 (NFSv3). Pada NFSv2 menggunakan protokol UDP untuk melakukan koneksi antar server dan client, sedangkan NFSv3 menggunakan protokol UDP dan TCP sekaligus. NFS menggunakan Remote Procedure Call (RPC) untuk mengarahkan koneksi antara client dengan server. Pada sistem operasi Linux, RPC adalah layanan yang dikendalikan oleh suatu program yang disebut portmap. Untuk melakukan proses sharing dan mount pada NFS (Steven 2007).

Komputer Paralel dan Komputer Cluster

Komputer paralel adalah kumpulan dari elemen pemroses yang berkomunikasi dan bekerjasama untuk menyelesaikan masalah secara efisien (Flynn 1972). Arsitektur paralel dibagi berdasarkan taksonomi Flynn. Taksonomi Flynn adalah sebuah klasifikasi arsitektur komputer yang dibuat berdasarkan jumlah instruksi yang berjalan simultan dan konkruen, serta aliran data yang diprosesnya. Dalam taksonomi Flynn, arsitektur komputer dibagi menjadi empat kelas diantaranya:

1. Single Instruction Single Data Stream (SISD)

Pada arsitektur ini, komputer tidak melakukan paralelisasi terhadap instruksi atau data. Contoh dari kelas ini adalah uniprocessor

2. Multiple Instruction Single Data Stream (MISD)

Pada arsitektur ini, sebuah komputer dapat melakukan banyak instruksi pada satu aliran data. Kelas ini tidak memiliki contoh karena hanya berupa purwarupa (prototype) dan tidak pernah dirilis secara massal. 3. Single Instruction Multiple Data Stream (SIMD)

Komputer pada arsitektur ini memproses banyak aliran data dalam satu instruksi, sehingga operasi yang dilakukan adalah operasi paralel. Contoh dari kelas ini adalah array processor dan vector processor. 4. Multiple Instruction Multiple Data Stream (MIMD)

(17)

4

Komputer cluster adalah kumpulan beberapa komputer yang berada dalam sebuah jaringan, sehingga diperoleh sebuah kesatuan sistem komputer yang memiliki kinerja lebih baik dalam memberikan suatu fungsi layanan tertentu atau menjalankan algoritme paralel (Gropp 2003). Sesuai dengan definisinya, komputer cluster berguna untuk memberikan layanan seperti manajemen server, layanan web, email, serta untuk menjalankan algoritme paralel seperti melakukan perhitungan ilmiah, simulasi, dan lainnya. Kaminsky, 2007 menggambarkan contoh arsitektur komputer cluster yang dapat dilihat pada Gambar 1.

Clustering dirancang untuk meningkatkan kemampuan kinerja dari komputer-komputer yang berada dalam satu jaringan untuk dapat meningkatkan hal-hal berikut:

1. Toleransi Kesalahan (Fault Tolerance)

Hal ini dapat menyebabkan node lain akan mengambil alih kerja node utama ketika node tersebut mengalami kegagalan. Client tidak akan melihat pergantian peran ini sehingga downtime dapat dikurangi secara drastis.

2. Penyerataan Beban (Load Balancing)

Mendistribusikan beban satu node ke semua node anggota cluster. Sehingga kinerja dan skalabilitas node utama menjadi lebih baik.

Jenis-jenis Cluster

Karakteristik utama dari clustering adalah bagaimana suatu task ditangani secara bersama-sama. Inilah yang membedakan cluster dengan mekanisme jaringan komputer biasa yang menjalankan program client-server. Komputer cluster difokuskan pada mekanisme sistem operasi dan hardware untuk menyatukan sumber daya setiap node (Armbrust 2010). Komputer cluster dibagi menjadi dua jenis yaitu:

1. High Performance Computing (HPC)

Secara umum, jenis cluster HPC ditujukan pada bagaimana suatu proses komputasi dapat diakselerasi. Dengan demikian proses penyelesaian task dapat diselesaikan lebih cepat.

2. High Availability (HA)

Secara umum jenis cluster ini ditujukan agar program yang dijalankan di atasnya bisa terus menjalankan, sekalipun salah satu node hang atau down. Contohnya adalah web server Apache yang diset dengan suatu redirector, sehingga jika salah satu server down, server lain bisa mengambil alih.

(18)

5

METODE

Penelitian ini dilakukan dengan beberapa tahapan proses, yaitu analisis, perancangan, implementasi, dan pengujian. Proses tersebut dapat dilihat pada Gambar 2.

Analisis

Tahap analisis merupakan tahap awal dilakukannya penelitian yaitu tahapan untuk mengetahui kebutuhan dari sistem yang akan dibuat. Tahap ini dilakukan untuk merumuskan spesifikasi kebutuhan perangkat lunak, di antaranya adalah spesifikasi pengguna, kebutuhan data dan kebutuhan fungsional sistem. Aktivitas yang dilakukan pada tahap ini adalah menganalisis kebutuhan-kebutuhan yang akan diimplementasikan pada sistem sehingga menghasilkan tabel fungsional sistem.

Perancangan

Pada tahap perancangan, terdiri atas perancangan perancangan database dan perancangan alur kerja sistem sistem, yang bertujuan mengidentifikasi dan mendeskripsikan data yang dibutuhkan oleh pengguna dalam sistem. Selain itu, juga dibuat use case diagram pengguna serta model data konseptual yang akan mendukung perbedaan kebutuhan informasi dari beberapa jenis pengguna dalam sistem. Pada tahapan ini, sistem dibagi menjadi beberapa jenis pengguna, yang bertujuan untuk mengatur pengalokasian komputer yang dapat digunakan oleh aplikasi tersebut.

Implementasi

Secara umum, tahapan ini merupakan pembuatan sistem yang telah dirancang dalam tahapan perancangan alur kerja sistem menjadi sebuah sistem. Selain itu, beberapa hal penting dalam mengembangkan sistem seperti lingkungan pengembangan sistem, bahasa pemrograman, dan beberapa hal terkait library yang akan digunakan pada tahapan ini.

(19)

6

Pengujian Sistem

Tahapan pengujian sistem bertujuan untuk melihat apakah sistem dapat berjalan sesuai fungsinya melalui berbagai parameter dan skenario pengujian. Tahap ini merupakan tahap akhir setelah sistem selesai diimplementasikan. Tahap pengujian sistem bertujuan untuk menguji sistem dapat berjalan sesuai dengan fungsi yang telah dirancang diawal tahap pengembangan. Skenario pengujian sistem ini diambil dari tabel fungsional sistem.

HASIL DAN PEMBAHASAN

Analisis

Sistem aplikasi web komputer cluster ini akan diterapkan pada head node komputer cluster yang terhubung dalam sebuah jaringan dengan dua buah node pembantu. Sistem memiliki tiga tipe pengguna diantaranya free user, registered user, dan premium user. Setiap pengguna memiliki jumlah akses komputer dan fungsionalitas pengguna yang berbeda-beda. Pada free user, pengguna hanya dapat mengakses satu buah komputer, registered user dapat mengakses dua buah komputer, sedangkan premium user dapat mengakses seluruh komputer. Selain itu, terdapat administrator yang bertugas untuk mengatur manajemen sistem. Pada tahap ini dibuat sebuah tabel fungsional sistem yang dapat dilihat pada Tabel 1.

Perancangan

Tahapan ini meliputi perancangan database, alur kerja, dan use case diagram sistem yang berguna untuk menyimpan data pengguna yang dibutuhkan oleh sistem dan perancangan alur kerja sistem. Perancangan database pada tahapan ini bertujuan untuk mengidentifikasi dan mendeskripsikan data yang dibutuhkan berupa jenis dan informasi dari pengguna sistem. Ilustrasi rancangan database dapat dilihat pada Gambar 3.

Tabel 1

No. Kode Fungsi

1 CLTR-01 Melakukan login pada sistem

2 CLTR-02 Memasukkan berkas yang akan diproses ke dalam komputer cluster

3 CLTR-03 Memilih jumlah komputer pemroses pada user tertentu

4 CLTR-04 Melakukan proses eksekusi program

5 CLTR-05 Mengedit tipe pengguna

6 CLTR-06 Mengedit info pengguna

(20)

7

Secara umum, alur kerja sistem antarmuka ini, terdiri dari beberapa langkah sebagai berikut.

1. Pengguna mengakses halaman web lalu mengunggah berkas program ke dalam sistem.

2. Komputer utama menerima berkas program yang dimasukkan lalu menyalurkannya ke setiap komputer pembantu (client).

3. Pengguna memilih jumlah komputer yang akan digunakan dalam pengeksekusian program.

4. Komputer cluster mengeksekusi program sesuai dengan input yang dimasukkan oleh user.

5. Komputer cluster selesai mengeksekusi program dan mengirim hasil eksekusi program ke web.

6. User memperoleh hasil eksekusi program.

Gambar 4 Contoh arsitektur sistem Gambar 4 Contoh arsitektur sistem Gambar 3 Rancangan database sistem

(21)

8

Sistem ini dibangun dengan arsitektur menggunakan tiga buah komputer dengan nama node 1, node 2, dan node 3 yang saling terhubung satu sama lain menggunakan nfs-server yang dapat dilihat pada Gambar 4. Sistem ini terbagi menjadi tiga jenis pengguna yaitu free user, registered user dan premium user. Free user dapat langsung melakukan proses eksekusi tanpa harus melakukan login. Sedangkan registered user dan premium user harus melakukan login terlebih dahulu sebelum menggunakan sistem. Langkah kerja dari sistem antarmuka komputer cluster free user, registered, dan premium user diilustrasikan pada Gambar 5, Gambar 6, dan Gambar 7.

Registered user adalah anggota yang terdaftar ke dalam sistem secara gratis (free), sedangkan premium user adalah anggota yang memberikan donasi pada pemilik sistem agar sistem ini dapat dikembangkan dikemudian hari. Pembeda antar jenis pengguna dan jenis member adalah pengaturan jumlah penggunaan komputer dalam pengeksekusian program. Pada free user, pengguna hanya dapat menggunakan satu unit komputer dengan jumlah proses maksimal sebanyak jumlah core pada CPU. Registered member dapat melakukan proses eksekusi

Gambar 5 Alur kerja sistem antarmuka komputer cluster free user

Gambar 6 Alur kerja sistem antarmuka komputer cluster registered user Gambar 6 Alur kerja sistem antarmuka komputer cluster free user

(22)

9

dengan menggunakan dua buah komputer dengan jumlah core keseluruhan proses pada tiap komputer. Sedangkan premium member diperbolehkan menggunakan seluruh komputer dengan jumlah maksimal proses pada sistem. Selain pengguna di atas, juga terdapat administrator pada sistem ini yang berguna untuk mengatur manajemen sistem ini agar dapat berjalan dengan baik. Administrator dapat melakukan hak penuh terhadap masing-masing pengguna dan jenis pengguna. Di samping itu, admin juga dapat melakukan proses eksekusi program dengan menggunakan keseluruhan node. Use case diagram sistem ini dapat dilihat pada Gambar 8.

Implementasi

Perangkat lunak ini dikembangkan menggunakan PHP sebagai bahasa pemrograman. Selain itu sistem ini menggunakan MPICH2 versi 1.4.1 sebagai standar library pengenalan pemrograman paralel pada komputer cluster yang berfungsi untuk mengeksekusi program dengan menggunakan bahasa C, C++, dan fortran. Sistem melakukan compile program melalui PHP dengan menggunakan shell command berupa perintah exec.

Pada implementasi komputer cluster, didefinisikan seluruh hostnames dan IP address dalam direktori /etc/hosts yaitu

127.0.0.1 localhost

127.0.0.1 node0

192.168.1.1 node0

192.168.1.2 node1

192.168.1.3 node2

(23)

10

Pendefinisian hostnames berguna untuk mempermudah sistem dalam proses pemanggilan komputer yang akan digunakan untuk melakukan eksekusi program sehingga tidak perlu dimasukkan lagi IP address nya. Pada komputer cluster dibutuhkan nfs-server dan nfs-client yang bertujuan untuk mempermudah dalam proses berbagi berkas yang tersimpan pada komputer utama sehingga dapat diakses oleh komputer pemroses lainnya tanpa harus melakukan penyalinan berkas ke seluruh node dengan cara memasukkan perintah dalam terminal seperti

Pada tiap komputer pembantu dilakukan mounting direktori mirror pada komputer utama dengan menambahkan perintah pada berkas /etc/fstab berupa

Gambar 8 Use Case komputer cluster

melki@node0:~$ sudo mkdir /mirror

melki@node0:~$ echo “/mirror &(rw,sync)” |

sudo tee –a /etc/hosts

melki@node0:~$ sudo service nfs-kernel-server restart

(24)

11 Selain penggunaan nfs-server, digunakan juga SSH Server berupa OpenSSH yang bertujuan agar keseluruhan node dapat melakukan kerja sama dengan cara memasukkan kunci public sehingga tidak perlu melakukan melakukan login antar komputer. Sistem ini bekerja dengan menggunakan MPICH sebagai standard library pemrosesan parallel. MPICH ini memiliki binding standar berupa C++ dan fortran 77 serta fortran 90, sehingga mendukung banyak jenis environment termasuk klaster-klaster Symmetric Multi Processing (SMP) dan komputer parallel.

Pada sistem antarmuka komputer cluster digunakan PHP: Hypertext Preprocessor sebagai bahasa pemrogramannya. Selain itu dipilih sebuah library untuk dapat memperoleh akses kunci publik tanpa harus melakukan login antar node melalui PHP yaitu phpseclib (PHP Secure Communication Library). Phpseclib sendiri merupakan salah satu library yang memiliki kemampuan untuk melakukan berbagai komunikasi melalui SSH, SFTP, aritmatika presisi dan berbagai macam kriptografi.

Phpseclib berfungsi untuk mengecek ketersediaan komputer pemroses serta menghubungkan koneksi antar komputer melalui apache server, sehingga proses kerja komputer paralel dapat bekerja sama. Pada sistem ini juga dibuat sebuah machinefile secara otomatis, sesuai dengan parameter yang dimasukkan oleh pengguna sistem. Machinefile berfungsi untuk mengatur jumlah proses yang diterima atau pembagian beban yang diterima oleh setiap komputer. Pada umumnya machinefile berisikan perintah berupa nama komputer dan jumlah proses yang diterima oleh komputer tersebut. Nama komputer diambil dari direktori /etc/hosts yang berisikan IP address dan nama dari tiap komputer. Contoh isi dari machinefile dapat dilihat sebagai berikut

Pada sistem ini dibuat informasi tiap pengguna secara terpisah dan machinefile yang dipetakan ke masing-masing pengguna. Hal ini dilakukan agar sistem dapat melakukan proses eksekusi secara multi tasking.

Pengujian Sistem Pengujian Fungsional

Pengujian fungsional sistem dilakukan dengan menjalankan sistem sesuai dengan alur kerja yang ditentukan. Fungsi-fungsi yang diujikan diambil dari rancangan arsitektur sistem komputer cluster. Tampilan keseluruhan antarmuka sistem yang telah dijalankan pada premium user dapat dilihat pada Gambar 9. Pada registered user tampilan antarmuka sistem dapat dilihat pada Gambar 10. Sedangkan pada free user tampilan antarmuka sistem dapat dilihat pada Gambar 11.

(25)

12

Selain berbagai user, juga terdapat admin dalam sistem antarmuka komputer cluster. Admin berfungsi sebagai pengatur user dan dapat mengakses sistem ini dengan akses penuh pada keseluruhan node komputer. Tampilan antarmuka dari admin dapat dilihat pada Gambar 12. Hasil pengujian sistem dapat dilihat pada Tabel 2.

Pengujian Kinerja Sistem

Pada pengujian kinerja sistem dilakukan beraneka kombinasi pengujian untuk mengecek kestabilan dan validitas sistem yang digunakan agar tidak terjadi crash system ketika digunakan oleh banyak pengguna. Pengujian sistem dilakukan dengan menggunakan dua buah laptop yang mengakses sistem secara bersamaan untuk mengetahui hasil urutan proses yang dilakukan agar hasil dari proses sistem tidak tertukar dan terputus antar pengguna. Pada komputer pertama dimasukkan

Gambar 9 Antarmuka aplikasi pada premium user

Gambar 10 Antarmuka aplikasi pada registered user

Gambar 11 Antarmuka aplikasi pada free user Gambar 11 Antarmuka aplikasi pada premium user

(26)

13

sebuah program C yang berisikan syntax menghitung pendekatan nilai (pi) yang terlampir pada Lampiran 1.

Pada komputer kedua, dimasukkan sebuah program C++ berisikan syntax

memanggil kata “Hello World” sebanyak jumlah proses yang dimasukkan yang

terlampir pada Lampiran 2.

Data yang dimasukkan ke dalam sistem secara bersamaan oleh dua user kemudian diolah oleh sistem. Hasil output dari sistem dapat berjalan secara simultan pada user yang terdaftar pada sistem. Hal ini dapat dilakukan karena setiap user memiliki user log masing-masing yang berisikan berkas history pemrosesan dan machinefile tiap pengguna. Pada free user, proses dijalankan berdasarkan alur first in first out (FIFO) yang disebabkan karena pengguna tidak memiliki informasi yang terdaftar dalam sistem. Dalam sistem ini semua jumlah proses eksekusi paralel tiap node diatur oleh machinefile dengan proses maksimal sejumlah banyaknya core pada CPU komputer. Pada sistem ini terdapat tiga buah node dengan masing-masing node memiliki empat buah, satu buah, dan satu buah core CPU, sehingga menghasilkan jumlah proses keseluruhan node sebesar 6 proses. Akan tetapi apabila user memasukkan jumlah proses eksekusi melebihi batas proses maksimal, maka machinefile akan mengalihkan sisa prosesnya kembali ke komputer utama sesuai dari isi machinefile tersebut.

Gambar 12 Antarmuka aplikasi pada admin Tabel 2 Tabel pengujian sistem

No. Kode Fungsi Status

1 CLTR-01 Melakukan login pada sistem Berhasil

2 CLTR-02 Memasukkan berkas yang akan diproses ke dalam komputer cluster

Berhasil 3 CLTR-03 Memilih jumlah komputer pemroses pada user

tertentu

Berhasil 4 CLTR-04 Melakukan proses eksekusi program Berhasil

5 CLTR-05 Mengedit tipe pengguna Berhasil

6 CLTR-06 Mengedit info pengguna Berhasil

(27)

14

SIMPULAN DAN SARAN

Simpulan

Sistem ini dapat membantu pengguna dalam memudahkan proses eksekusi program sistem paralel menggunakan komputer cluster, tanpa harus melakukan pengaturan pada command line sehingga lebih mempercepat proses eksekusi. Sistem ini dapat melakukan eksekusi program dengan bahasa C (.c), C++ (.cpp) dan fortran (.f) , serta memiliki tiga tingkatan pengguna yaitu free user, registered user, dan premium user. Pada registered dan premium user, pengguna memiliki akun dalam sistem yang menyimpan informasi dan log aktivitas pengguna, sehingga sistem dapat menyimpan hasil eksekusi program ke dalam log aktivitas ketika pengguna sedang offline, serta sistem juga mengirimkan hasil eksekusi ke email pengguna. Sistem ini melakukan proses eksekusi secara bersamaan (multi user) antar pengguna pada registered user dan premium user, namun pada free user sistem melakukan eksekusi secara first in first out (FIFO) .

Saran Saran untuk penelitian selanjutnya adalah:

1. Dilakukan pengembangan sistem yang bisa melakukan penambahan client secara otomatis, sehingga tidak perlu mengubah/menambahkan source code pada sistem.

2. Dilakukan pengembangan sistem agar dapat mendukung beberapa platform seperti OpenMP, CUDA,dan lainnya.

(28)

15

DAFTAR PUSTAKA

Armbrust, Michael. 2010. A View of Cloud Computing. Communication of the ACM 53(4), 50-58

Beekhof, Andrew. 2010. Pacemaker 1.1 Cluster from Scratch. Melbourne: University of Melbourne

Dunnweber, Jan & Bennoit Anne. 2005. Integrating MPI-Skeleton with Web Services for Grid Programming. Munster: University of Munster

Flynn, Michael J. 1972. Some Computer Organizations and Their Effectivenes. Computers, IEEE transactions on, 100(9), 948-960

French, Steven M. 2007. A Network File System is Born: Comparison of SMB2, CIFS, and NFS. In Linux Symposium.

Gropp, William. 2003. Beowulf Cluster Computing with Linux. Cambridge: The MIT Press

Kaminsky, Alan. 2007. Parallel Java Library. New York: Rochester Institute of Technology

Sloan, Joseph. 2004. High Performance Linux Cluster with OSCAR, Rocks, OpenMosix, and MPI. California: O’Reilly Media Inc

(29)

16

LAMPIRAN

Lampiran 1 Program menghitung pendekatan nilai (pi)

#include "mpi.h"

double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x;

double startwtime=0.0, endwtime; int namelen;

char processor_name[MPI_MAX_PROCESSOR_NAME];

MPI_Init(&argc,&argv);

MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid);

MPI_Get_processor_name(processor_name,&namelen); fprintf(stderr,"Process %d on %s\n",

(30)

17

Lampiran 2 Program memanggil kata ”hello world

MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);

if (myid == 0) {

printf("pi is approximately %.16f, Error is %.16f\n",

pi, fabs(pi - PI25DT)); endwtime = MPI_Wtime();

printf("wall clock time = %f\n",

endwtime-startwtime); }

} }

MPI_Finalize(); return 0;

}

#include <iostream> using namespace std; int main ()

{

cout << "Hello World!"; return 0;

(31)

18

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggan 20 Juni 1991, anak kedua dari tiga bersaudara dari pasangan Y. Hasali dan Ermi Rahayu. Penulis lulus dari Sekolah Menengah Atas Negeri 1 Tanjungpandan Belitung pada tahun 2008 dan diterima di Departemen Ilmu Komputer Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB.

Gambar

Gambar 1 Contoh arsitektur komputer cluster (Kaminsky 2007)
Gambar 2 Metode penelitian
Gambar 4 Contoh arsitektur sistem Gambar 3 Contoh arsitektur sistem
Gambar 5, Gambar 6, dan Gambar 7.
+5

Referensi

Dokumen terkait

melakukan pekerjaan. 3) Kepatuhan kerja, Merupakan kepatuhan seorang karyawan terhadap prosedur atau peraturan dalam melakukan pekerjaan. 4) Kualitas pekerjaan,

(4) Moralitas individu, efektivitas sistem pengendalian internal, ketaatan aturan akuntansi, dan kesesuaian tugas berpengaruh signifikan terhadap kecenderungan

Gambaran Self-Esteem Remaja Yang Tinggal Di

Untuk memahami secara utuh Pengaruh Analisis Jabatan, Pengembangan Karier dan Kepemimpinan terhadap Profesionalisme Pejabat Pemerintah Daerah Kabupaten Gresik

Secara umum strategi daya saing yang dibutuhkan industri galangan kapal adalah strategi korporasi dan bisnis seperti yang dilakukan negara lain yang berhasil dalam

Tujuan dari penelitian ini adalah Untuk mendeskripsikan bagaimana pemanfaatan modal sosial yang dilakukan oleh kelompok tani Sido Makmur dalam pembangunan jalan menuju

Metode yang digunakan dalam penelitian ini menggunakan metode deskriptif kuantitatif yang bertujuan untuk mengetahui bagaimana pengaruh sistem pengendalian

[r]