LAPORAN
PRAKTEK KERJA LAPANGAN
PENGEMBANGAN MODUL PENCARIAN PERPUSTAKAAN DIGITAL DENGAN METEOR JS DAN IMPLEMENTASI SOLR
FAKULTAS ILMU SOSIAL DAN ILMU POLITIK
Disusun Oleh:
Dandy Ari Ramadhan 15/386054/SV/09440
Muhammad Sasmito Adi Wibowo 15/380439/SV/08246
Muhammad Marsell Abdurrahman 15/384479/SV/08836
Dosen pembimbing:
Sigit Priyanta, S.Si, M. Kom.
D3 ILMU KOMPUTER DAN SISTEM INFORMASI SEKOLAH VOKASI
UNIVERSITAS GADJAH MADA
ii
Kata Pengantar
Puji syukur kami panjatkan kehadirat Allah SWT atas segala nikmat dan rahmat-Nya, sehingga kami dapat melaksanakan Praktik Kerja Lapangan di Fakultas Ilmu Sosial dan Ilmu Politik Universitas Gadjah Mada dan dapat menyelesaikan laporan Praktik Kerja Lapangan.
Praktik Kerja Lapangan adalah salah satu mata kuliah wajib di Program Studi D3 ilmu komputer dan sistem informasi Universitas Gadjah Mada. Selama kami melaksanakan praktik kerja lapangan, kami dapat menambah wawasan, pengalaman dan dapat menerapkan matakuliah yang telah kami pelajari.
Dengan selesainya laporan ini tidak terlepas berkat bantuan dari berbagai pihak yang telah memberikan dukungan dan masukan kepada kami. Maka dari itu kami mengucapkan terima kasih kepada:
1. Sigit Priyanta, S.Kom., M.Kom selaku ketua program studi D3 ilmu komputer dan sistem informasi dan dosen pembimbing Praktik Kerja Lapangan
2. Asep Wahyu Purnomo, S.Kom selaku instruktur Praktek Kerja Lapangan di Fakultas Ilmu Sosial dan Ilmu Politik
3. M Nuur Dien, S.Kom selaku instruktur Praktek Kerja Lapangan di Fakultas Ilmu Sosial dan Ilmu Politik
4. Serta karyawan dan staf di devisi TI yang telah turut membantu dan menyambut kami.
Kami menyadari bahwa laporan ini masih jauh dari kesempurnaan. Oleh karena itu, kritik dan saran dari semua pihak sangat kami harapkan untuk menjadi masukan kepada kami. Kami berharap laporan Praktik Kerja Lapangan ini dapat bermanfaat bagi semua pihak.
Yogyakarta, 9 Agustus 2017
iii
1.1.Profil Perusahaan Lokasi PKL ... 1
1.2.Latar Belakang Pemilihan Perusahaan sebagai Lokasi PKL ... 2
BAB II PERMASALAHAN ... 4
2.1.Kegiatan-Kegiatan Selama PKL ... 4
2.2.Tugas-Tugas yang Diberikan Selama PKL... 4
BAB III METODE PENYELESAIAN PERMASALAHAN ... 5
3.1.Penjabaran Permasalahan... 5
3.2.Keterkaitan dengan Matakuliah yang pernah diberikan ... 7
BAB IV HASIL & PEMBAHASAN ... 9
4.1.Analisis Kebutuhan Sistem ... 9
4.2.Batasan sistem ... 10
4.3.Identifikasi Basisdata ... 10
4.4.Infrastruktur Sistem ... 11
4.5.Penjabaran Mengenai Hasil Kegiatan ... 11
BAB V KESIMPULAN & SARAN ... 40
5.1.Kesimpulan dari Pelaksanaan PKL ... 40
5.2.Hal-hal yang dapat dikembangkan di lokasi PKL ... 41
iv
Daftar Gambar
Gambar 3.1 Timeline pembagian tugas minggu pertama dan kedua ... 5
Gambar 3.2 Timeline pembagian tugas minggu ketiga dan keempat ... 6
Gambar 3.3 Timeline pembagian tugas minggu kelima dan keenam ... 6
Gambar 3.4 Timeline pembagian tugas minggu terakhir ... 6
Gambar 4.1 Tabel konten digital dari database SQL ... 10
Gambar 4.2 Denah infrastruktur sistem saat tahap develop ... 11
Gambar 4.3 Mengoperasikan Virtual Machine Manager ... 13
Gambar 4.4 Konfigurasi menambahkan lib data import handler ... 16
Gambar 4.5 Konfigurasi menentukan data indexing dari datbase SQL ... 16
Gambar 4.6 Konfogurasi schema dari setiap field yang terindex ... 17
Gambar 4.7 Prosedur melakukan indexing SOLR ... 17
Gambar 4.8 Konfigurasi settings.json ... 18
Gambar 4.9 Konfigurasi settings.json pada tahap development ... 19
Gambar 4.10 Perintah menjalankan aplikasi ... 20
Gambar 4.11 Melihat halaman hasil developing... 21
Gambar 4.12 Source membuat state pada SearchContainer.js ... 21
Gambar 4.13 Source method mengubah state pada SearchContainer.js ... 22
Gambar 4.14 Source memberikan props untuk component di SearchContaner.js 22 Gambar 4.15 Source memberikan props untuk component di SearchContaner.js 22 Gambar 4.16 Definisi tipe props dan callback method di WelcomeSidebar.js ... 23
Gambar 4.17 Source aksi callback method di file WelcomeSidebar.js ... 24
Gambar 4.18 Source percabangan konten di file WelcomeContent.js... 25
Gambar 4.19 Konfigurasi tambahan untuk menggunakan CAS SSO UGM ... 26
Gambar 4.20 Source komponen dari PdfContent.js ... 26
Gambar 4.21 Source konten meta data dan pdf viewer pada ResultDetail.js ... 28
Gambar 4.22 Source proptypes dan callback method pada DetailSidebar.js ... 29
Gambar 4.23 Source aksi callback method pada file DetailSidebar.js ... 30
Gambar 4.24 Perintah meteor up untuk menginialisasi ... 32
Gambar 4.25 Konfigurasi dari mup.js agar aplikasi dideploy pada server ... 32
Gambar 4.26 Lanjutan konfigurasi mup.js ... 33
v
Gambar 4.28 Perintah meteor up untuk melakukan setup pada server virtual ... 35
Gambar 4.29 Perintah meteor up untuk deploy aplikasi server virtual ... 35
Gambar 4.30 Perintah meteor up untuk menjalankan aplikasi di server virtual ... 36
Gambar 4.31 Tampilan halaman beranda ... 36
Gambar 4.32 Tampilan saat memilih menu kategori jenis koleksi ... 36
Gambar 4.33 Halaman pencarian saat memilih kategori jenis koleksi makalah... 37
Gambar 4.34 Pencarian tampak bawah menunjukan kategori jenis yang dipilih . 37 Gambar 4.35 Halaman detail pencarian menampilkan metadata konten ... 37
Gambar 4.36 Pop-up SSO saat ingin melakukan login dari halaman depan ... 38
Gambar 4.37 Informasi tidak memiliki ijin mengakses akun setelah login ... 38
Gambar 4.38 Ekspektasi kami setelah berhasil login dan mendapat ijin ... 38
Gambar 4.39 File konten dari detail pencarian dengan error CORS ... 39
vi
Daftar Tabel
1
BAB I
PENDAHULUAN
1.1.
Profil Perusahaan Lokasi PKL
1.1.1. Sejarah
Fakultas Ilmu Sosial dan Ilmu Politik Unviersitas Gadjah Mada, sebelumnya Akademi Ilmu Politik pada mulanya didirikan untuk mendidik para calon birokrat pemerintahan di bidang dalam negeri, penerangan, dan luar negeri di awal kemerdekaan Indonesia. Pada masa awal berdirinya UGM, studi ilmu sosial dan politik berada dalam satu fakultas dengan ilmu hukum dan ekonomi. Fakultas Ilmu Sosial dan Politik kemudian dibentuk secara terpisah sejak 1955 yang kemudian berubah nama menjadi Fakultas Ilmu Sosial dan Ilmu Politik, disingkat ISIPOL.
Fakultas Ilmu Sosial dan Ilmu Politik Universitas Gadjah Mada (ISIPOL UGM) telah berdiri sejak 19 September 1955. Saat ini Fakultas Ilmu Sosial dan Ilmu Politik memiliki enam jurusan diantaranya Hubungan Internasional, Ilmu Komunikasi, Manajemen Kebijakan Publik, Pembangunan Sosial dan Kesejahteraan, Sosiologi serta Politik dan Pemerintahan dengan tiga jenjang program pendidikan yakni sarjana, master, dan doktoral.
1.1.2. Visi
Menjadi fakultas riset bertaraf internasional di bidang ilmu sosial dan ilmu politik yang mengembangkan riset unggulan sebagai basis pendidikan dan pengabdian kepada masyarakat bagi transformasi pengetahuan untuk kepentingan rakyat.
1.1.3. Misi
2
2) Pengembangan penelitian keilmuan dan advokatif serta penerbitan akademik yang berstandar internasioal;
3) Pengembangan pengabdian kepada masyarakat yang berbasis keilmuan; 4) Pengembangan kerjasama berkelanjutan di tingkat lokal, nasional, dan
internasional;
5) Penguatan kualitas pelayanan kepada civitas akademika dan masyarakat melalui peningkatan kualitas SDM administratif, inovasi manajaemen, dan pengembangan sarana dan prasarana;
6) Pengembangan good faculty governance di internal fakultas dan di hadapan publik.
1.1.4. Alamat
Fakultas Ilmu Politik dan Ilmu Sosial berlokasikan di Universitas Gadjah Mada Tepatnya di Jalan Sosio Yustitia, Catur Tunggal, Depok, Kec. Sleman, Daerah Istimewa Yogyakarta. Telepon: (0274) 563362
Jam buka:
1.2.
Latar Belakang Pemilihan Perusahaan sebagai Lokasi PKL
3
Maka dalam hal tersebut kami selaku mahasiswa D3 Komputer dan Sistem Informasi memilih untuk melaksanakan Praktek Kerja Lapangan dibagian Unit Teknologi Informasi Fakultas ISIPOL UGM. Berbekal dengan ilmu dan pengetahuan yang kami peroleh selama perkuliahan cukup membantu dalam pengerjaan tugas-tugas yang diberikan oleh Unit Teknologi Informasi. Hal tersebut juga sejalan dengan tujuan matakuliah Praktek Kerja Lapangan untuk mengenalkan kepada mahasiswa pada dunia kerja. Selain itu kami memilih Fakultas ISIPOL UGM sebagai lokasi Praktek Kerja Lapangan dikarenakan lokasi yang masih dekat dengan tempat tinggal sehingga mudah untuk menjangkau.
4
BAB II
PERMASALAHAN
2.1.
Kegiatan-Kegiatan Selama PKL
Selama pelaksanaan kegiatan Praktek Kerja Lapangan di ISIPOL UGM kami diberi tugas untuk membantu menyelesaikan salah satu proyek Digital Library Fakultas Ilmu Sosial dan Politik yang dicanangkan oleh divisi IT. Dari sistem tersebut kami ditugaskan untuk mambantu membuat modul Searching
yang menggunakan teknologi SOLR dan framework Javascript MeteorJS.
2.2.
Tugas-Tugas yang Diberikan Selama PKL
Selama praktek kerja lapangan yang kami laksanakan selama 35 hari kerja, tugas yang diberikan kepada kami adalah sebagai berikut:
1. Memahami SOLR
2. Memahami framework MeteorJS
3. Membuat Single Page Application Searching 4. Membuat integrasi aplikasi dengan SOLR
5
BAB III
METODE PENYELESAIAN PERMASALAHAN
3.1.
Penjabaran Permasalahan
Proyek yang diberikan kepada kami adalah Digital Library Fakultas ISIPOL yaitu sistem baru perpustakaan digital Fakultas ISIPOL UGM guna untuk menanggapi perubahan cara mahaisswa dalam memperoleh atau mengakses informasi dan ilmu pengetahuan dari yang bersifat analog menjadi digital dan pergeseran paradigma fungsi perpustakaan dari tempat menyimpan koleksi (buku, jurnal, majalah, dsb.) menjadi tempat belajar dan bekerja bersama (collaborative working space). DigiLib mendukung gerakan penghematan kertas, demokratisasi dalam mengakses sumber-sumber ilmu pengetahuan, dan upaya meningkatkan sinergi antar disiplin ilmu untuk memproduksi pengetahuan yang bermanfaat bagi masyarakat.
Pada awal kami melaksanakan Praktik Kerja Lapangan, kami diminta oleh supervisor kami untuk melakukan observasi dan membuat prototipe dari modul pencarian proyek digital library. Dan kami diminta prototipe yang dibuat menggunakan framework berbasis node js yaitu meteor js dan untuk data yg diakses menggunakan SOLR sebagai mesin indexing khusus untuk pencarian. Sebab teknologi yang digunakan masih awam, sehingga kami membuat timeline
dalam belajar dan mencoba teknologi yang diminta. Dan dalam timeline ini juga terdapat pembagian tugas.
3.1.1. Timeline pembagian tugas minggu pertama dan kedua PKL
6 3.1.2. Timeline pembagian tugas minggu ketiga dan keempat PKL
Gambar 0.2 Timeline pembagian tugas minggu ketiga dan keempat
3.1.3. Timeline pembagian tugas minggu kelima dan ke enam PKL
Gambar 0.3 Timeline pembagian tugas minggu kelima dan keenam
3.1.4. Timeline pembagian tugas minggu terakhir PKL
7
3.2.
Keterkaitan dengan Matakuliah yang pernah diberikan
Kelancaran pelaksanaan Praktik Kerja Lapangan di Fakultas ISIPOL tidak terlepas dari pembekalan yang diberikan oleh dosen pembimbing dan dosen dalam beberapa matakuliah di Sekolah Vokasi Universitas Gadjah Mada. Berikut beberapa matakuliah yang telah membantu dalam pelaksanaan pekerjaan kami selama Praktik Kerja Lapangan :
1. Rekayasa Perangkat Lunak
Mata kuliah Rekayasa Perangkat Lunak diterapkan sebagai acuan penentuan tahapan utama dalam proses pembuatan dan pengembangan sistem yang akan dibuat seperti analisis, pembagian tugas, desain, kode, penerapan, pengujian, dan komunikasi dengan klien.
2. Basis Data
Mata kuliah Basis Data diterapkan sebagai dasar ilmu dan acuan dalam konfigurasi database dengan sistem yang akan dibuat.
3. Praktikum Basis Data
Matakuliah Praktikum Basis Data merupakan penerapan dari teori mata kuliah Basis Data diaplikasikan dalam bentuk pembuatan query-query MySQL.
4. Kerja Lab. Pengelolaan Instalasi Komputer
Kerja Lab. Pengelolaan Instalasi Komputer diaplikasikan dalam instalasi konfigurasi komputer server. Ilmu yang dapat diterapkan dalam Kerja Lab. Pengelolaan Instalasi Komputer seperti instalasi sistem operasi dan perintah-perintah UNIX.
5. Kerja Lab. Pemrograman Web
Kerja Lab. Pemrograman Web diterapkan sebagai dasar ilmu pada pemrograman sistem. Bahasa pemrograman yang kami pelajari dalam matakuliah ini yaitu HTML, CSS, Javascript, pengenalan dan penggunaan
webframework. Penerapan matakuliah ini antara lain untuk membuat modul, membuat desain, dan memperbaiki bug.
6. Sistem Informasi
8
ilmu Sistem Informasi yang dapat diterapkan seperti tinjauan umum pengembangan sistem, analisis sistem, desain sistem, dan lain-lain.
7. Kerja Lab. Perancangan Antarmuka Pengguna
9
BAB IV
HASIL & PEMBAHASAN
4.1.
Analisis Kebutuhan Sistem
Dalam prototipe modul pencarian ini, terdapat beberapa kebutuhan pengguna yang dipenuhi sebagai berikut.
1) Pengguna dapat melakukan pencarian konten digital seperti buku, skripsi, artikel, makalah, penelitian atau kliping.
2) Pengguna dapat melihat meta data dari konten yang dicari 3) Pengguna dapat melihat dokumen digital dari konten yang dicari
4) Pengguna dapat melakukan pencarian dengan penyaringan yang diinginkan 5) Pengguna dapat melakukan pengurutan hasil pencarian
6) Pengguna dapat menampilkan banyaknya pencarian perhalaman
Akan tetapi untuk pengembangan prototipe ini, aplikasi Digital Library FISIPOL diupayakan mampu untuk mencakup kebutuhan konten sebagai berikut. 1) Konten Internal
a) Ebooks yg dibeli FISIPOL UGM
b) Born-digital Academic (academic archives, ETD, teaching learning resources)
c) ETD FISIPOL digitasi d) Still Images in-house product
e) Podcast (Digital audio) in-house product
f) Videocast (In-house product)
g) Digital publishing FISIPOL products
h) Digital archives
i) Digital Research Data FISIPOL-UGM
2) Konten Eksternal
a) E Journaldatabases yg dilanggan Universitas b) Ebooks yg dibeli universitas
c) Digital archives
10
4.2.
Batasan sistem
Prototipe modul pencarian yang kami buat ini memiliki batasan sistem yang kedepannya akan dikembangkan pada tahap selanjutnya. Berikut beberapa batasan sistem dari keseluruhan proyek digital library.
• Database dapat diakses di dalam perpustakaan
• Database dapat diakses dari semua komputer dosen
• (sebagian) Database dapat didownload
• (sebagian) dapat di-akses dari rumah melalui EZ-proxy
• Disediakan desktop untuk akses koleksi
• Adanya tablets/readers di perpustakaan untuk mengakses informasi/pengetahuan tsb.
4.3.
Identifikasi Basisdata
Dokumentasi basis data yang akan diindex berdasarkan basisdata yang telah tersedia pada sistem perpustakaan sebelumnya. Berikut diagram basisdata yang akan diindex oleh mesin SOLR.
11
4.4.
Infrastruktur Sistem
Dalam pengembangan sistem, diperlukan adaptasi sistem yang dikembangkan dengan sistem saat diproduksi. Berikut insfrastruktur yang kami gunakan sebagai acuan dalam pengembangan sistem.
Gambar 0.2 Denah infrastruktur sistem saat tahap develop
4.5.
Penjabaran Mengenai Hasil Kegiatan
4.4.1. Melakukan instalasi server kvm
Dalam membangun sistem pencarian ini, kami menggunakan server inti yang digunakan sebagai tempat server virtual untuk setiap layanan yang akan kami pakai dalam infrastruktur kami. Server yang digunakan berbasis linux dengan distro Debian 9. Berikut ini spesifikasi server yang digunakan.
TIPE SPESIFKASI
CPU Intel i7
RAM 8 GB
HDD 1 TB
Tabel 0.1 Tabel spesifikasi server KVM
12 apt-get install qemu-kvm libbin virtinst
virt-viewer ebtables dnsmasq virt-manager
Kemudian hidupkan layanan KVM dengan perintah berikut.
systemctl enable libvirtd systemctl start libvirtd
Untuk keperluan virtualisasi, server virtual diberi spesifikasi yang sesuai sebagai berikut.
Tabel 0.2 Tabel spesifikasi server vitual
Untuk mengoperasikannya berikut contoh untuk membuat penyimpanan virtual dengan CLI.
qemu-img create -f qcow2 /kvm_data/meteor_server.img 50G
Untuk membuat server virtual gunakan perintah seperti berikut.
virt-install virt-type kvm name=meteor_server --vcpu=1 --ram=1024 \ --disk
path=/kvm_data/meteor_server.img,size=50,format=qcow2,s
parse=true \ osvariant=ubuntu16.04 cpuset=auto
--graphics spice \ --cdrom
/ubuntu-16.04.2-server-amd64.iso \ --network bridge=br1
13 Gambar 0.3 Mengoperasikan Virtual Machine Manager
4.4.2. Melakukan instalasi server virtual
Setelah server virtual telah dibuat, maka pada server tersebut dipasang beberapa paket yang diperlukan untuk melakukan remote pada server virtual tersebut. Diantaranya adalah paket openssh. Berikut ini cara instalasinya.
apt-get update
apt-get install openssh-server
Karena diperlukan untuk remote akses sebagai root. Maka diperlukan konfigurasi ssh server sebagai berikut.
nano /etc/ssh/sshd_config Address dikonfigurasi otomatis, cek dengan perintah berikut.
ifconfig
Jika IP Address akan dikonfigurasi manual, maka lakukan konfigurasi pada file berikut dan restart service networknya.
14 4.4.3. Konfigurasi akses pengguna ke basis data berbasis sql pada server virtual
Sebelum dapat untuk mengakses database pada server diperlukan user akses database sql yang tersedia. Masuk sebagai admin database sql dan buat akun dan hak akses seperti berikut.
CREATE USER solr @ localhost IDENTIFIED BY password ;
CREATE USER solr @ 10. . .104 IDENTIFIED BY password ;
GRANT ALL PRIVILEGES ON pusfispol .* TO solr @ localhost ;
GRANT ALL PRIVILEGES ON pusfispol .* TO solr @ 10. . .104 ;
FLUSH PRIVILEGES; 4.4.4. Melakukan instalasi SOLR
Pada server virtual SOLR, lakukan instalasi paket java 8 dengan perintah berikut ini.
sudo apt-get install default-jre sudo apt-get install default-jdk
Kemudian download paket SOLR 6 pada lokasi home dan ekstraksi berkat dengan perintah berikut.
wget
http://apache.repo.unpas.ac.id/lucene/solr/6.6.0/solr-6.6.0.tgz
tar -zxf solr-6.6.0.tgz
Untuk dapat mengoperasikan SOLR, berikut ini dokumentasi perintah untuk mengoperasikannya.
// membuat core sebagai tempat indexing data
cd solr-6.6.0
bin/solr create --c testcore
15 bin/solr start
bin/solr restart -p 8389 (sesuaikan dengan port yang dipakai)
bin/solr stop -p 8389 (sesuaikan dengan port yang dipakai)
4.4.5. Konfigurasi integrasi dengan basisdata berbasis sql dan indexing data dari basisdata sql
Pada server SOLR, diperlukan konektor dengan server basisdata sql agar data dari basisdata sql dapat di-indexing oleh SORL. Untuk mendapatkan konektor tersebut, download konektor dengan perintah berikut ini.
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.32.tar.gz
Untuk memasang pada SOLR, ekstrak berkas tersebut dan salin file berekstensi jar ke lokasi paket SOLR/contrib/dataimporthandler/lib.
tar -zxf mysql-connector-java-5.1.32.tar.gz
16
Untuk dapat melakukan indexing, konfigurasi core pada solrconfig.xml dengan menambahkan konfigurasi untuk dapat menggunakan library konektor dan menentukan lokasi konfigurasi koneksi ke database sql. Untuk file solrconfig.xml, schema.xml dan db-data-config.xml terletak pada folder
~solr-6.6.0/server/solr/testcore/conf/.
Gambar 0.4 Konfigurasi menambahkan lib data import handler
Pada konfigurasi koneksi ke database sql pada file db-data-config.xml, perhatikan untuk identifikasi IP Address server database, username dan password akses ke database.
17
Konfigurasi bentuk dari data yang di-index pada file schema.xml dengan mengidentifikasi field untuk setiap kolom.
Gambar 0.6 Konfogurasi schema dari setiap field yang terindex
Setelah semua dikonfirgurasi secara benar, restart service SOLR dan akses website admin SOLR untuk memulai indexing. Akses web admin SOLR :
http://10.9.8.100:8983 (ip server solr:port solr).
Gambar 0.7 Prosedur melakukan indexing SOLR
4.4.6. Tahap pengembangan aplikasi dengan meteor js
a. Konfigurasi integrasi dengan SOLR
18
mampu dengan SOLR, yaitu dengan cara mengedit file settings.json pada meteor. Perintah-perintah yang dibutuhkan adalah sebagai berikut:
Gambar 0.8 Konfigurasi settings.json
19 b. Testing pada tahap development aplikasi
Pada tahap development aplikasi, diperlukan testing saat menambah fitur maupun melihat hasil sementara. Hal yang perlu dilakukan setelah menerima
source code aplikasi adalah melakukan konfigurasi pada dan instalasi paket node yang digunakan oleh aplikasi meteor.
Gambar 0.9 Konfigurasi settings.json pada tahap development
20
yang ada di server, gunakan host IP Address pada server. Berikut perintah untuk instalasi paket pada aplikasi.
meteor npm install --save react dom react-router moment rc-pagination classnames
meteor npm install --save solr-client npm install --save babel-runtime
meteor npm install --save react react-addons-pure-render-mixin
meteor add react-meteor-data
Perintah operasi untuk menjalankan aplikasi meteor sebagai berikut.
meteor --settings=config/settings.json
Perintah sedangkan untuk menentukan port listen sendiri dapat menggunakan perintah berikut ini.
meteor --settings=config/settings.json -p 5050
Gambar 0.10 Perintah menjalankan aplikasi
Dengan demikian saat menyimpan source-code, aplikasi meteor akan melakukan build ulang dan me-restart server. Sehingga tidak perlu menjalankan ulang aplikasi. Bahkan pada browser, halaman akan otomatis dimuat ulang, sehingga tidak perlu melakuakn refresh manual.
21 Gambar 0.11 Melihat halaman hasil developing
c. Membuat menu kategori
Fitur ini memudahkan pengguna untuk melakukan pencarian jenis dokumen yang akan dicari. Untuk membuat kategorinya hanya perlu menampilkan kolom jenis_koleksi nya saja. Hal pertama yang diperlukan adalah membuat state ketika menu sidebar yang sedang dipilih adalah jenis koleksi maka aplikasi akan menampilkan jenis-jenis koleksi dokumen yang terdapat pada database. Konfigurasinya sebagai berikut.
1.Source code untuk file pada direktori
/import/ui/components/SearchContainer/SearchContainer.js
Gambar 0.12 Source membuat state pada SearchContainer.js
22 Gambar 0.13 Source method mengubah state pada SearchContainer.js
Membuat method untuk mengganti state bernama setState.
Gambar 0.14 Source memberikan props untuk component di SearchContaner.js
Men-delivery-kan state dan method sebelumnya menjadi property dari komponen WelcomeSidebar untuk melakukan navigasi.
Gambar 0.15 Source memberikan props untuk component di SearchContaner.js
Men-delivery-kan state menuActive menjadi property dari komponen
23
2. Konfigurasi file pada direktori
/import/ui/components/WelcomeSidebar/WelcomeSidebar.js
Gambar 0.16 Definisi tipe props dan callback method di WelcomeSidebar.js
Mendefinisikan tipe property atau props yang diterima pada method propTypes dan method untuk mengecek state menuActive serta method untuk mengubah nilai dari state menuActive bernama changeMenu1() dan
24 Gambar 0.17 Source aksi callback method di file WelcomeSidebar.js
Kode untuk callback method ketika pengguna melakukan aksi klik pada menu yang terdapat pada sidebar sehingga mengubah statemenuActive.
3. Konfigurasi file pada direktori
/import/ui/components/WelcomeContent/WelcomeContent.js item' : 'list-group-item'} onClick={this.changeMenu2} >
25 Gambar 0.18 Source percabangan konten di file WelcomeContent.js
Kode untuk menampilkan konten, menggunakan percabangan switch case. Jika nilai menuActive= 1 maka akan mengembalikan nilai method renderWelcome() dimana berisi informasi selamat datang di website DigiLib ISIPOL. Jika nilai menuActive= 2 maka akan mengembalikan nilai valueCat
dimana berisi kategori berdasarkana customLabels.
d. Membuat integrasi dengan login CAS SSO UGM
26 Gambar 0.19 Konfigurasi tambahan untuk menggunakan CAS SSO UGM
'baseUrl' ditujukan ke url CAS SSO UGM sedangkan 'loginUrl' ditujukan kealamat CAS SSO login UGM.
e. Membuat konten pembaca pdf
Membuka hasil pencarian berupa pdf viewer pada browser secara langsung diperlukan agar pengguna dapat lebih mudah mencari dokumen apa yang sedang dicari. Untuk membuatnya diperlukan sebuah package javascript
yaitu PDFjs. Untuk konfigurasinya berisi sebagai berikut.
Gambar 0.20 Source komponen dari PdfContent.js
27 (image). Dari konfigurasi tersebut terdapat url yaitu variabel untuk menyimpan
alamat atau direktori file-file pdf yang tertaut dan PDFJS.workerSrc yang bekerja sebagai konverter format pdf menjadi canvas dimanasebelumnya harus sudah ditambahkan paket meteor bernama pascoual:pdfjs.
Sedangkan untuk konfigurasinya adalah sebagai berikut.
1. Konfigurasi file pada direktori
28 Gambar 0.21 Source konten meta data dan pdf viewer pada ResultDetail.js
Pada kode tersebut terdapat method componentWillMount() dimana akan mengeset state menuActive bernilai 1. Setelah itu terdapat percabangan swtich case jika menuActive= 1 maka akan menampilkan informasi metadata seperti detail tentang pengarang, subyek, klasifikasi, kota terbit, tahun, penerbit, dan jumlah halaman. Jika menuActive= 2 akan menampilkan pdf viewer.
2. Konfigurasi file pada direktori direktori
29 Gambar 0.22 Source proptypes dan callback method pada DetailSidebar.js
Mendefinisikan tipe property atau props yang diterima pada method propTypes dan method untuk mengecek state menuActive serta method untuk mengubah nilai dari state menuActive bernama changeMenu1() dan
changeMenu2().
Kemudian untuk memanggil callback method tersebut, maka diperlukan aksi yang dibuat pada tag link yang terdapat pada sidebar sehingga mengubah
30 Gambar 0.23 Source aksi callback method pada file DetailSidebar.js
4.4.7. Tahap produksi aplikasi meteor ke server virtual
Pada tahap produksi server virtual untuk aplikasi meteor, diperlukan instalasi paket yang dibutuhkan seperti Node JS, NVM untuk downgrade versi Node yang dipakai oleh aplikasi, instalasi docker untuk deploy aplikasi meteor dari tahap development dan mongodb yang dipakai oleh meteor untuk database.
Berikut cara menginstall Node JS pada server ubuntu.
apt-et install npm
apt-get install node-legacy
Berikut cara menginstall NVM (Node Version Manager).
apt-get install build-essential libssl-dev curl https://raw.githubusercontent.com/
creationix/nvm/v0.25.0/install.sh | bash source ~/.profile
Untuk melakukan downgrade gunakan perintah berikut.
nvm 4.6.2
Berikut cara instalasi docker pada server ubuntu.
31 sudo add-apt-repository "deb [arch=amd64]
https://download.docker.com/linux/ubuntu $(lsb_release
-cs) stable"
sudo apt-get install -y docker-ce
Untuk instalasi mongodb sebagai berikut.
apt-get update
apt-get install mongodb-server
Karena server otomatis memiliki webserver, agar tidak terjadi konflik dengan proxy aplikasi meteor, maka aplikasi yang memakai port 80 dimatikan. Berikut perintah untuk mengecek adanya aplikasi yang memakai port 80 dan cara mematikanya.
sudo apt-get install psmisc sudo lsof -i tcp:80
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill
Setelah kebutuhan aplikasi pada server terpasang, kemudian tahap deploy aplikasi ke server. Deploy aplikasi dilakukan pada laptop atau komputer saat development aplikasi. Dengan instalasi paket meteor-up dengan perintah berikut.
npm install -g mup
Setelah melakukan instalasi paket node meteor up, kemudian masuk ke lokasi aplikasi meteor, membuat folder konfigurasi untuk deployment dan memulai inialisasi konfigurasi meteor up. Untuk penggunaan meteor up pada sistem operasi berbasis windows perlu penggunaan perintah mup.cmd jika berbasis linux cukup dengan perintah mup.
32
Konfigurasi pada file mup.js seperti berikut.
Gambar 0.24 Perintah meteor up untuk menginialisasi
Gambar 0.25 Konfigurasi dari mup.js agar aplikasi dideploy pada server Perhatikan username
34
Konfigurasi untuk file settings.json sebagai kondisi variable yang diperlukan untuk informasi penggunaan server SOLR.
Gambar 0.27 Konfigurasi settings.json untuk server virtual aplikasi
Tahap mempersiapkan docker, mongodb dan proxy yang dipakai untuk menjalankan aplikasi meteor dengan perintah meteor up setup.
35 Gambar 0.28 Perintah meteor up untuk melakukan setup pada server virtual
Setelah setup aplikasi pada server sukses, lakukan perintah meteor up untuk mem-build, upload, menjalankan dan verify aplikasi.
mup.cmd deploy --settings=settings.json
#jika aplikasi sudah pernah di build sebelumnya oleh meteor up gunakan atribut --cached-build
Operasi untuk menjalankan maupun menghentikan aplikasi dapat dilakukan dengan remote oleh meteor up. Setelah itu aplikasi dapat diakses dengan mengakses IP Address server virtual meteor.
mup.cmd start mup.cmd stop
36 Gambar 0.30 Perintah meteor up untuk menjalankan aplikasi di server virtual
4.4.8. Demo pencarian
Untuk dapat menggunakan aplikasi, dapat diakses pada IP Address milik server virtual aplikasi meteor yang telah diupload.
Gambar 0.31 Tampilan halaman beranda
37 Gambar 0.33 Halaman pencarian saat memilih kategori jenis koleksi makalah
Gambar 0.34 Pencarian tampak bawah menunjukan kategori jenis yang dipilih
38 Gambar 0.36 Pop-up SSO saat ingin melakukan login dari halaman depan
Gambar 0.37 Informasi tidak memiliki ijin mengakses akun setelah login
39 Gambar 0.39 File konten dari detail pencarian dengan error CORS
40
BAB V
KESIMPULAN & SARAN
5.1.
Kesimpulan dari Pelaksanaan PKL
Kami mengucapkan terima kasih kepada selaku dekan fakultas ISIPOL UGM dan segenap tim IT Fakultas ISIPOL. Dengan terlaksananya Praktik Kerja Lapangan kami di Fakultas ISIPOL UGM yang dilaksanaan dari tanggal 5 Juni 2017 sampai 28 Juli 2017, kami mendapat pelajaran berharga dari segi pengalaman kerja, budaya kerja hingga wawasan baru tentang pekerjaan kami selama PKL. Dengan kurun waktu 35 hari kerja, kami dapat menyelesaikan tugas yang diberikan. Walaupun dalam menyelesaikan tugas terbentur bermacam masalah, dikarenakan pembagian tugas yang tidak konsisten dan dibutuhkan waktu belajar yang banyak sebab framework yang digunakan belum pernah dipelajari sebelumnya. Teknologi yang dipakai cukup baru mulai dari Meteor JS untuk back-end, SOLR untuk pencarian data ter-indexing, REACT JS untuk pengelolaan tampilan hingga deploy aplikasi di server virtual. Sehingga kami mengatasinya dengan memperbanyak mencari solusi di referensi internet yang sangat membantu dalam mengerjakan tugas kami. Dengan bekerja saling membantu dan saling memberikan solusi satu dengan lainnya, pekerjaan dapat terselesaikan. Juga dengan terbukanya instruktur kami dalam memberikan saran dan solusi mengenai kesulitan kami, menjadikan pekerjaan sangat terbantu dan dimudahkan.
41
Kesimpulan yang dapat diambil mengenai pengembangan modul pencarian digital library Fakultas ISIPOL UGM yang telah dikerjakan adalah terwujudnya prototipe awal untuk membantu kinerja tim IT ISIPOL untuk pengembangan selanjutnya.
5.2.
Hal-hal yang dapat dikembangkan di lokasi PKL
1. Bidang Web
Pada lokasi PKL, kami diberi tugas untuk membuat sebuah prototipe berbasis web untuk melakukan pencarian data digital perpustakaan. Website ini sebagai prototipe yang nanti dikembangkan sebagai sarana informasi secara internal dan kedepannya dengan teknologi yang lebih aman serta bagus dapat diakses secara eksternal. Dengan menggunakan teknologi yang baru, kami diberi tugas untuk mencoba dan membuat prototipe dari modul pencarian tersebut.
Dengan penyesuaian tampilan desain dan fitur utama dari sebuah pencarian konten digital, akan sangat membantu dalam pengembangan selanjutnya. Apabila prototipe dapat berjalan dengan baik, kami dapat membantu dengan memberikan dokumentasi mengenai cara pengembangan aplikasi hingga tahap produksi aplikasi.
2.
Bidang Pengelolaan Server42
5.3.
Saran
Berikut adalah saran bagi pihak program studi Ilmu Komputer dan Sistem Informasi setelah kami menjalankan Praktik Kerja Lapangan: