II-8
II BAB II
LANDASAN TEORI
2.1 Pengemban Sistem Informasi
Menurut KAMI, pengembangan sistem dapat berarti menyusun sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau untuk memperbaiki sistem yang sudah ada. (Gita Oktavianti, 2019).
Sementara itu menurut Dinu, pengembangan sistem adalah metode/prosedur/konsep/aturan yang digunakan untuk mengembangkan suatu sistem informasi atau pedoman bagaimana dan apa yang harus dikerjakan selama pengembangan sistem (algorithm). Metode adalah suatu cara, teknik sistematik untuk mengerjakan sesuatu (Gita Oktavianti, 2019).
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan bahwa Pengembangan Sistem Informasi adalah sebuah pembaruan atau sebuah tahap pembuatan menuju sistem yang lebih baik dari sebelumnya.
2.2 Pameran
Pameran merupakan suatu usaha tersistematis untuk memperlihatkan / memeperagakan contoh model, contoh produk atau barang sesungguhnya, peta lokasi atau gambar disain atau suatu lokasi tertentu dalam suatu ukuran yang terukur dalam suatu urutan tertentu untuk menimbulkan atau rasa ingin tahu (antusias) lebih jauh kepada para pengunjung. Pameran juga merupakan salah satu bentuk promosi yang dapat menentukan tingkat penjualan perusahaan (Echsanullah & Wulandari, 2018).
Sementara itu Menurut Myers, B. dalam bukunya “How To Look At Art”, Pameran sebagai satu aktivitas yang melibatkan satu ruang, biasanya galeri untuk memamerkan hasil karya seni seperti lukisan, catan, cetakan, arca, ukiran, gambar foto dan karya yang siap. Namun dalam kehidupan sehari-hari, pameran merupakan suatu kegiatan yang dilakukan untuk menyampaikan ide atau gagasan kepada publik melalui media karya seninya (Aditya, 2020).
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan bahwa Pameran adalah sebuah media untuk memamerkan hasil dari karya seni yang begitu indah sekaligus menjadi media untuk melakukan promosi dan karya yang ditampilkan memiliki berbagai macam filosofi atau gagasan yang dapat dinikmati oleh setiap orangnya.
2.3 Seni Lukis
Susanto mengemukakan seni lukis adalah bahasa ungkapan dari pengalaman artistik maupun ideologis yang menggunakan warna dan garis, guna mengungkapkan perasaan, mengekpresikan emosi gerak, ilusi maupun ilustrasi dari kondisi subjektif seseorang. (Eksperimen et al., 2015)
Menurut Bangun, seni lukis merupakan penggunaan garis, warna, tekstur, ruang dan bentuk, shape, pada suatu permukaan yang bertujuan untuk menciptakan berbagai image.Image-image tersebut bisa merupakan pengekspresian ide-ide, emosi, dan pengalaman-pengalaman yang dibentuk sedemikian rupa sehingga mencapai harmoni.(Eksperimen et al., 2015)
Menurut Leo Tolstoy seni adalah ungkapan perasaan seniman yang disampaikan kepada orang lain agar mereka dapat merasakan apa yang dirasakannya. Dengan seni, seniman memberikan, menyalurkan, memindahkan perasaannya kepada orang lain sehingga orang itu merasakan apa yang 2 dirasakan sang seniman. Lebih dari itu, orang itu pun dapat menerima perasaan seniman dengan kondisi yang sama, Sumardjo (2000:62-63) (Lukis et al., n.d.).
Dalam sebuah wawancara yang penulis lakukan dengan Sugandhy, Pelukis Subang, menurutnya :
“Seni lukis adalah goresan seni, yang tercipta dari curahan hati dan imajinasi yang menciptakan sebuah tema yang berawal dari hati nurani”
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan bahwa Seni Lukis adalah sebuah seni yang dapat mencurahkan seluruh emosi pelukis yang dapat dikomunikasikan dengan orang yang menerima perasaan seniman tersebut.
2.4 Virtual Reality
Menurut Grigore C., & Philippe C., didalam bukunya Virtual Reality Technology (2003:2) Virtual Reality is a simulation in wihich computer graphics is used to create a realistic-looking world. Moreover, the synthetic world is not static, but responds to the user's input (gesture, verbal command, etc.)
Virtual Reality adalah pemunculan gambar-gambar tiga dimensi yang dibuat komputer sehingga terlihat nyata dengan bantuan sejumlah peralatan tertentu, yang menjadikan penggunanya seolah-olah terlibat langsung secara fisik dalam lingkungan tersebut (Saurik et al., 2019).
Beberapa peranan Vrtual Reality seperti simulasi, pembelajaran interaktif, promosi, dan permainan kini semakin banyak dikembangkan (Saurik et al., 2019).
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan bahwa Virtual Reality adalah sebuah komunikasi representasi dunia nyata melalui sebuah komputer bisa berupa apapun, bentuk virtual itu sendiri dapat diimplementasikan seperti 3D, gambar, suara, dan lain-lain, dan juga Virtual Reality dapat digunakan untuk salah satu media edukasi, promosi, dan sebagainya.
2.5 3 Dimensi
Dalam animasi 3D, perangkat lunak menciptakan real virtual dalam 3 dimensi dan perubahan (gerakan) dihitung dari 3 aksis (x, y, dan z). Hal ini membuat image atau object yang diciptakan tampak muka, belakang, samping, atas, dan bawah dapat bergerak mendekati dan menjauhi pemirsa, atau dalam sumber cahaya virtual dan sudut pandang, mengizinkan pemirsa untuk menjelajahi dan melihat seluruh bagian objek dari semua sudut (Bintarto & Lestari, 2020).
Yim, Cicchirillo dan Drumwright mengatakan, penggunaan Animasi 3 dimensi dapat memberikan informasi iklan dan penyampaian informasi menjadi lebih efektif (Bintarto & Lestari, 2020).
Sementara itu Eka Ardhianto mengungkapkan dalam jurnalnya bahwa, benda 3 dimensi (3D) adalah sebuah objek / ruang yang memiliki panjang, lebar
dan tinggi yang memiliki bentuk. 3D tidak hanya digunakan dalam matematika dan fisika saja melainkan dibidang grafis, seni, animasi, komputer dan lain-lain (Eka Ardhianto, 2012).
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan bahwa 3 Dimensi adalah sebuah objek, ruang atau benda yang dapat dilihat dari berbagai sudut serta dapat memberikan beberapa informasi dan menjadi sebuah media untuk promosi.
2.6 Metodologi RUP
Menurut IBM, Rational Unified Process (RUP) adalah kerangka proses yang menyediakan simulasi sistem pada industri untuk sistem, software, implementasi, dan manajemen proyek yang efektif. RUP adalah salah satu dari sekian banyak proses yang terdapat di dalam Rational Process Library, yang memberikan simulasi terbaik untuk pengembangan atau kebutuhan proyek. RUP mempunyai beberapa tahapan, yaitu :
Gambar 2.1 Tahapan Rational Unified Process
1. Inception
Inception merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem existing, perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan, perumusan persyaratan, perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas), UML diagram, dan pembuatan dokumentasi.
2. Elaboration
Elaboration merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur subsystem (architecture pattern), desain komponen sistem, desain format data (protokol komunikasi), desain database, desain user interface, pemodelan diagram UML (diagram sequence, class, component dan deployment), dan pembuatan dokumentasi.
3. Construction
Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan desain (misal menggunakan Class Responsibility Collaborator untuk kasus pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.
4. Transition
Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing aplikasi.
2.5.1. Karakteristik RUP
1. Berulang (Iterative)
Tahap pengembangan untuk setiap produk yang diserahkan (release) dilaksanakan secara berulang.
2. Architecture Centric
Menggunakan arsitektur sistem sebagai artifak utama untuk konseptualisasi, konstruksi, pengelolaan, dan penyusunan sistem selama pengembangan.
3. Use case-driven
Menggunakan use case sebagai artifak utama untuk menetapkan perilaku sistem yang diinginkan dan untuk mengkomunikasikan perilaku sistem tersebut kepada para stakeholder sistem.
4. Risk-driven
Menghilangkan atau mengurangi risiko-risiko yang dapat menghambat kesuksesan proyek.
2.5.2. Aliran Kerja RUP
Metodologi RUP memiliki 4 fase dan 9 workflow, dan metodologi RUP terbagi menjadi 2 bagian yakni, aliran kerja utama dan aliran kerja pendukung, berikut detail dari kedua aliran tersebut :
1. Aliran Kerja Utama
a. Business Modeling
Pada tahap ini, terdapat identifikasi dan deskripsi langsung dari area dan permasalahan untuk redesign atau reengineering, beserta struktur dan proses–proses bisnis organisasi.
b. Requirements
Tujuan utama pada fase ini adalah menyusun sistem apa yang seharusnya ada dan mengapa perlu dibuat, mendefinisikan batas dari sistem, melihat kemungkinan ancaman keamanan serta bagaimana cara penanggulangannya, dan mengestimasi biaya dan skala waktu yang rumit. Isi dari sistem dibangun yang kemudian diterjemahkan kedalam use case model dengan tambahan spesifikasi kebutuhan. Baik kebutuhan fungsional dan nonfungsional akan dikumpulkan dan dianalisis. Kebutuhan user dan stakeholder serta fitur high-level didefinisikan dan kemudian diubah menjadi specific software requirements.
c. Analysis and Design
Pada fase ini, semua requirement pada tahap kedua akan diubah menjadi spesifikasi implementasi.
d. Implementation
Pada tahap ini, semua analisa dan desain yang telah dibuat pada fase sebelumnya akan diimplementasikan dan diterjemahkan menjadi kode program.
e. Testing
Pada tahap ini, pengembang software akan menguji dan memverifikasi semua interaksi komponen, kebutuhan yang telah diimplementasikan dan kualitas dari software yang telah dikembangkan.
f. Deployment
Pada tahap ini, pengembang software menyebarkan software yang telah selesai kepada user. Pengembang software juga menyediakan dokumentasi untuk semua fitur dan fungsi. Pada tahap ini juga, pengembang software mendapatkan umpan balik
dan masukan terhadap software yang berujung pada modifikasi fungsi dan fitur agar menjadi lebih baik.
2. Aliran Kerja Pendukung
a. Configuration and Change Management
Tahap ini menjalankan dan merawat integritas dari proyek.
Kegiatannya meliputi monitoring dan mengatur perubahan permintaan, perubahan biaya, dan tetap mengontrol berbagai versi produk dan artifact. Tahap ini juga meliputi manajemen konfigurasi hardware dan software.
b. Project Management
Tahap ini menyediakan framework untuk manajemen software dan resiko. Tahap ini juga menyediakan pedoman untuk planning, staffing, monitoring dan secara umum menunjukan manajemen proyek.
c. Enviroment
Tahap ini menjelaskan tentang infrastruktur dan metode yang dibutuhkan untuk mengembangkan sistem.
2.7 Angular
Angular adalah platform dan framework yang digunakan untuk membangun aplikasi one-page client menggunakan HTML dan TypeScript.
Angular ditulis menggunakan TypeScript, untuk memudahkanmu dalam implementasi fungsi inti dan opsional ke dalam aplikasi yang kamu buat.
Arsitektur aplikasi Angular bergantung pada konsep dasar tertentu. Blok penyusun dasarnya adalah NgModules, yang menyediakan konteks kompilasi untuk komponen. NgModules mengumpulkan kode terkait ke dalam set fungsional.
Aplikasi Angular kemudian didefinisikan oleh satu set NgModules. Sebuah aplikasi
memiliki setidaknya modul root yang memungkinkan Bootstrap dan biasanya memiliki lebih banyak modul.
2.8 Slim Framework
Menurut Josh Lockhart - Pembuat Slim Framework, slim framework adalah: "PHP micro framework that helps PHP developers quickly and easily write web applications and APIs. Think of it as a core set of tools with which a developer can build amazing things." Slim Framework adalah mikro framework PHP untuk membuat aplikasi web. Biasanya digunakan untuk membuat REST API atau webserivice.
Dikatakan micro framework karena Slim adalah framework yang fokus pada kebutuhan pokok yang diperlukan sebuah aplikasi web seperti : menerima sebuah HTTP request, mengirimkan request tersebut ke code yang sesuai, dan mengembalikan HTTP response. Micro framework biasanya digunakan untuk proyek skala kecil yang memiliki tujuan khusus dan tingkat kompleksitas yang rendah, sebagai contoh jika Anda ingin membangun sebuah API, maka akan lebih cepat, ringan dan efisien jika menggunakan micro framework daripada menggunakan fullstack framework
2.9 Hasura GraphQL Postgres
Hasura GraphQL Engine adalah server GraphQL yang sangat cepat yang dapat memberi Anda GraphQL API instan dan realtime melalui Postgres, dengan pemicu webhook pada peristiwa database, dan skema jarak jauh untuk logika bisnis. Hasura membantu Anda membangun aplikasi GraphQL yang didukung oleh Postgres atau secara bertahap pindah ke GraphQL untuk aplikasi yang ada menggunakan Postgres.
2.10 Babylon
Babylon.js adalah kerangka kerja sumber terbuka javascript yang digunakan untuk mengembangkan aplikasi/video game 3D untuk web. Situs web resmi BabylonJS adalah www.babylonjs.com. Menggunakan kerangka kerja
Babylon.js mudah bagi pengguna. Ini berisi semua alat yang diperlukan untuk membuat dan mengelola objek 3D, efek khusus, dan suara, dll.
Babylon.js adalah salah satu mesin game 3D paling populer dan banyak digunakan oleh pengembang. Menjadi perpustakaan 3D, ia menyediakan fungsi bawaan. Fungsi-fungsi ini membantu Anda menerapkan fungsionalitas 3D umum dengan cara yang efisien dan akurat. Ini dikembangkan menggunakan bahasa TypeScript berdasarkan WebGL dan javascript.
2.11 Application programming interfaces (API)
Application programming interfaces (API) adalah alat pemrograman manual untuk menggambarkan bagaimana aplikasi mengakses fungsi lain. API dianggap sebagai kumpulan deskriptif, teknik yang jelas untuk menciptakan komunikasi antara perangkat lunak yang berbeda komponen, ekspresi pertama kali digunakan pada tahun 1968. Fungsi API adalah untuk memudahkan penggunaan teknologi tertentu untuk membangun perangkat lunak untuk pengembang. Sama seperti antarmuka pengguna grafis membuat mudah bagi pengguna untuk menggunakan perangkat lunak, API melayani tujuan yang sama untuk perangkat lunak pengembang (Saeidnia et al., 2021).
Antarmuka pemrograman aplikasi (API) tersedia untuk menjamin penerapan tersebut. Sesuai dengan namanya, API berfungsi sebagai antarmuka antar program. Antarmuka biasanya antara pengembang perangkat lunak dan aplikasi pengembang perangkat lunak. Pada dasarnya, API memungkinkan satu perangkat lunak untuk mengakses beberapa fungsi perangkat lunak lain (Odun- Ayo et al., 2018).
Antarmuka pemrograman aplikasi (API) adalah simpul penghubung dari komponen digital dan dengan demikian berperan penting dalam integrasi (Boyd et al., 2020).
RESTFULL API merupakan penerapan dari API (Application Programming Interface). Sedangkan REST (Representional State Transfer) adalah sebuah arsitektur metode komunikasi yang menggunakan protokol HTTP untuk
pertukaran data dimana metode ini sering diterapkan dalam pengembangan aplikasi. Dengan tujuannya untuk menjadikan sistem memiliki performa yang baik, cepat dan mudah untuk di kembangkan (scale) terutama dalam pertukaran dan komunikasi data. API secara eksplisit memanfaatkan metodologi HTTP yang ditentukan oleh protokol RFC 2616.
RESTFULL API memiliki 4 komponen penting yaitu:
1. URL Design, RESTFULL API diakses menggunakan protokol HTTP.
Penamaan dan struktur URL yang konsisten akan menghasilkan API yang baik dan mudah untuk dimengerti developer. URL API biasa disebut endpoint dalam pemanggilannya.
2. HTTP Verbs, Setiap request yang dilakukan terdapat metode yang dipakai agar server mengerti apa yang sedang di request client:
A. GET
GET adalah metode HTTP Request yang paling mudah, metode ini digunakan untuk membaca atau mendapatkan data dari sumber.
B. POST
POST adalah metode HTTP Request yang digunakan untuk membuat data baru dengan menyisipkan data dalam body saat request dilakukan.
C. PUT
PUT adalah metode HTTP Request yang biasanya digunakan untuk melakukan update data resource.
D. DELETE
DELETE adalah metode HTTP Request yang digunakan untuk menghapus suatu data pada resource.
3. HTTP Response Code, adalah kode standarisasi dalam menginformasikan hasil request kepada client. Secara umum terdapat 3 kelompok yang biasa kita jumpai pada RESTFULL API yaitu :
A. 2XX : adalah response code yang menampilkan bahwa request berhasil.
B. 4XX : adalah response code yang menampilkan bahwa request mengalami kesalahan pada sisi client.
C. 5XX : adalah response code yang menampilkan bahwa request mengalami kesalahan pada sisi server.
4. Format Response, setiap request yang dilakukan client akan menerima data response dari server, response tersebut biasanya berupa data XML ataupun JSON. Setelah mendapatkan data response tersebut barulah client dapat menggunakannya dengan cara memparsing data tersebut dan diolah sesuai kebutuhan.
2.12 Postman
Postman adalah sebuah aplikasi yang berfungsi sebagai REST Client untuk uji coba REST API. Postman biasa digunakan oleh developer pembuat API sebagai tools untuk menguji API yang telah dibuat.
Postman merupakan tool untuk melakukan proses development API, untuk saat ini sudah banyak fitur-fitur yang sangat membantu dalam proses development API, diantaranya :
1. Collection
Pengelompokan request API yang bisa disimpan atau diatur dalam bentuk folder. Memudahkan untuk pengelompokan request sesuai dengan proyek yang di kerjakan.
2. Environment
Semacam config untuk menyimpan attribute dan attribute tersebut dapat digunakan ataupun dimanipulasi dalam proses request API.
3. Response
Developer dapat membuat Mockup API sebelum benar-benar mengimplementasikan ke dalam proyek.
4. Mock Server
Dengan fitur ini, Mockup API yang dibuat menggunakan fitur “example response” dapat diakses dari internet layaknya Mockup API tersebut sudah di implementasikan dan di deploy ke server.
5. Script Test
Fitur untuk melakukan validasi response, termasuk di dalamnya menuliskan test sesuai dengan kebutuhan.
6. Automated Test (Runner)
Menjalakan request dalam satu collection secara otomatis, dengan menggunakan script test.
2.13 Website
Website adalah salah satu aplikasi yang berisikan dokumen-dokumen multimedia (teks, gambar, suara, animasi, video) didalamnya yang menggunakan protokol HTTP (hyper text transfer protocol) dan untuk mengaksesnya mengunakan perangkat lunak yang disebut browser (Suhartanto, 2018).
Menurut Yuhefizar pengertian website adalah “keseluruhan halaman- halaman web yang terdapat dari sebuah domain yang mengandung informasi”
(Sun et al., 2013).
Berdasarkan beberapa pendapat yang dikemukakan dapat ditarik kesimpulan bahwa Website adalah tempat dimana berkumpulnya informasi- informasi yang dapat diakses oleh siapapun dan saling menghubungkan setiap manusia.