1
I. Pengantar
Pembelajaran merupakan kunci untuk mengembangkan kualitas sumber daya manusia.
Menurut Sagala (2007) dalam Hasan (2021) pembelajaran merupakan usaha untuk mengedukasi peserta didik dengan menggunakan asas pendidikan maupun teori belajar sehingga dapat mewujudkan efisiensi dan efektivitas kegiatan belajar[1]. Pembelajaran yang efektif memiliki beberapa unsur pokok. Menurut Setyosari (2014) unsur pokok dari pembelajaran yang efektif yaitu gagasan jelas pendidik mengenai tujuan belajar yang diharapkan serta tercapainya pengalaman belajar yang telah direncanakan dan disampaikan[2].
Salah satu pembelajaran yang cukup sulit untuk dilakukan adalah pembelajaran sejarah dengan materi zaman prasejarah. Zaman prasejarah terdiri dari beberapa zaman, salah satunya adalah Zaman Megalitikum. Anshori (2007) menjelaskan bahwa Megalitikum berasal dari bahasa Yunani megas yang berarti besar dan lithos yang berarti batu sehingga Zaman Megalitikum disebut sebagai zaman batu besar. Benda peninggalan Zaman Megalitikum yang telah ditemukan antara lain seperti menhir, punden berundak, sarkofagus, dolmen, dan arca[3].
Benda peninggalan dari Zaman Megalitikum yang terbuat dari batu besar membuatnya sulit untuk dipelajari. Menurut Karyono (2011) upaya pembelajaran prasejarah memiliki beberapa kendala. Kendala tersebut terjadi karena jumlah barang-barang peninggalan yang sedikit dan langka. Sehingga pembelajaran hanya dilakukan melalui media buku teks dan gambar yang memiliki keterbatasan dalam memberikan informasi. Buku teks hanya memberikan informasi dalam bentuk verbal dan gambar yang digunakan seringkali tidak jelas[4]. Oleh karena itu diperlukan media pembelajaran lain yang mampu memberikan informasi secara jelas dan tidak terlalu sulit untuk digunakan.
Media lain yang menjadi alternatif dalam pembelajaran prasejarah adalah museum.
Namun, pembelajaran yang dilakukan di museum prasejarah juga memiliki kendala. Jumlah museum yang terbatas, biaya, dan waktu yang harus disediakan untuk pergi ke museum menjadi kendala untuk melakukan pembelajaran di museum prasejarah. Hasil penelitian pada jurnal yang ditulis Asmara (2019) mengenai peran museum dalam pembelajaran sejarah menunjukkan bahwa minat masyarakat dalam mengunjungi museum masih kurang.
Kurangnya minat tersebut disebabkan oleh faktor sarana dan prasarana yang membuat kesan kotor dan kusam pada museum[5].
2
Augmented reality memiliki potensi untuk dijadikan sebagai media pembelajaran.
Augmented reality merupakan salah satu pengembangan teknologi yang dapat memproyeksikan benda-benda maya ke dalam lingkungan nyata menggunakan media kamera.
Salah satu metode dalam augmented reality yaitu marker based tracking yang menggunakan penanda atau marker untuk memunculkan sebuah objek. Augmented reality dapat diterapkan di perangkat mobile seperti Android yang telah banyak digunakan oleh masyarakat di Indonesia. Data pada Statcounter GlobalStats menunjukkan bahwa Android mendominasi pasar smartphone di Indonesia dengan persentase sebesar 90.82% pada tahun 2021[6].
Pembelajaran benda-benda peninggalan Zaman Megalitikum menggunakan teknologi augmented reality diharapkan dapat meningkatkan minat dan pemahaman mengenai benda peninggalan Zaman Megalitikum. Pembelajaran dapat dilakukan kapan saja dan di mana saja tanpa harus pergi secara langsung ke museum prasejarah.
3
II. Analisis Kebutuhan
Analisis kebutuhan aplikasi AR Megalitikum dibagi menjadi analisis kebutuhan fungsional dan analisis kebutuhan non fungsional. Kebutuhan fungsional aplikasi AR Megalitikum seperti :
1. Dapat mengakses kamera smartphone 2. Dapat mendeteksi marker
3. Dapat memunculkan objek 3D sesuai marker yang dideteksi
4. Dapat memainkan audio penjelasan sesuai objek 3D yang dimunculkan 5. Dapat memunculkan pertanyaan sesuai marker yang dideteksi
6. Dapat dijalankan pada sistem operasi Android 7. Dapat melihat menu petunjuk
8. Dapat melihat menu tentang
Adapun kebutuhan non fungsional aplikasi AR Megalitikum adalah sebagai berikut : 1. Smartphone dengan sistem operasi Android
2. Minimum sistem operasi Android KitKat (4.4) 3. RAM 2GB
4. Minimum penyimpanan adalah 1GB 5. Kamera 3MP
4
III. Perancangan Sistem
Perancangan sistem aplikasi AR Megalitikum akan dinarasikan menggunakan class diagram dan use case diagram. Berikut ini adalah gambar dan penjelasan dari class diagram dan use case diagram aplikasi AR Megalitikum.
Gambar 1. Class Diagram AR Megalitikum
Gambar 1 menunjukkan class diagram aplikasi AR Megalitikum. MainMenu adalah class awal ketika pengguna membuka aplikasi AR Megalitikum. Pada MainMenu terdapat atribut MainGame, Instruction, About, Exit, ImageBackground, dan ImageTitle. Operasi yang
5
ada pada class MainMenu berfungsi untuk berpindah antar halaman. Class MainGame adalah permainan utama yang memberikan penjelasan mengenai benda-benda Zaman Megalitikum.
Class MainGame memiliki atribut ArcaTarget, DolmenTarget, MenhirTarget, PundenBerundakTarget, SarkofagusTarget, dan ButtonHome. Operasi yang ada pada class MainGame berfungsi untuk mendeteksi marker dan menampilkan objek 3D, memainkan suara penjelasan, merotasi objek 3D, dan berpindah ke halaman MainMenu. Class Quiz berfungsi untuk menguji pemahaman mengenai benda-benda Zaman Megalitikum. Class Quiz memiliki atribut ArcaTarget, DolmenTarget, MenhirTarget, PundenBerundakTarget, SarkofagusTarget, TextQuiz, ButtonAnswer1, ButtonAnswer2, ButtonAnswer3, ButtonAnswer4, ButtonHome, ImageTrue, dan ImageFalse. Operasi yang ada pada class Quiz berfungsi untuk mendeteksi marker dan menampilkan objek 3D, menampilkan pertanyaan dan jawaban kuis, merotasi objek 3D, dan berpindah ke halaman MainMenu. Class Instruction digunakan untuk menampilkan petunjuk penggunaan aplikasi. Atribut pada class Instuction yaitu ImageBackground, ImageInstruction, ButtonLink, dan ButtonBack. Operasi yang ada pada class Instruction berfungsi untuk berpindah ke halaman MainMenu dan mengunduh marker. Class About digunakan untuk menampilkan informasi mengenai aplikasi AR Megalitikum. Atribut pada class About yaitu ImageBackground, ImageAbout, dan ButtonBack. Operasi pada class About digunakan untuk berpindah ke halaman MainMenu.
Class Exit digunakan untuk mengkonfirmasi pilihan keluar dari aplikasi. Atribut pada class Exit yaitu ImageBackground, ImageExit, ButtonYes, dan ButtonNo. Operasi yang ada pada class Exit berfungsi untuk berpindah halaman ke MainMenu dan keluar aplikasi.
6
Gambar 2. Use Case Diagram AR Megalitikum
Gambar 2 menunjukkan use case diagram aplikasi AR Megalitikum. Sistem aplikasi AR Megalitikum yang dirancang memiliki lima use case yang dapat diakses langsung oleh pengguna. Use case tersebut yaitu mengakses halaman kamera AR, mengakses halaman kuis, melihat petunjuk penggunaan aplikasi, melihat informasi tentang aplikasi, dan keluar dari aplikasi. Selain use case yang dapat langsung diakses oleh pengguna, ada beberapa use case yang memerlukan use case yang lain agar dapat berjalan. Use case memindai marker dan memunculkan objek 3D serta use case memunculkan penjelasan objek 3D membutuhkan pengguna untuk mengakses halaman kamera AR terlebih dahulu. Use case memindai marker dan memunculkan objek 3D serta use case memunculkan pertanyaan dan jawaban membutuhkan pengguna untuk mengakses halaman kuis terlebih dahulu.
7
IV. Hasil
Hasil dari aplikasi AR Megalitikum akan dijelaskan menggunakan kode program yang berfungsi untuk menjalankan fitur utama aplikasi. Kode program tersebut adalah kode rotasi objek 3D, navigasi halaman, dan kode trigger suara objek 3D. Berikut ini adalah kode program beserta penjelasan dari kode tersebut.
Kode Program 1. Deteksi Marker dan Menampilkan Objek 3D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
using UnityEngine;
using Vuforia;
public class DefaultAreaTargetEventHandler : DefaultAreaTargetEventHandler{
protected override void OnTrackingFound(){
SetAugmentationRendering(true);
OnTargetFound?.Invoke();
}
protected override void OnTrackingLost(){
SetAugmentationRendering(false);
OnTargetLost?.Invoke();
}
void SetAugmentationRendering(bool value){
for(var i=0; i<transform.childCount, i++){
SetEnabledOnChildComponents(transform.GetChild(i), value);
SetVuforiaRenderingComponents(value);
} }
void SetEnabledOnChildComponents(Transform augmentation Transform, bool value){
var augmentationRenderer =
augmentationTransform.GetComponent<VuforiaAugmentationRenderer>();
if (augmentationRenderer != null){
augmentationRenderer.SetActive(value);
return;
}
if(mObserverBehaviour){
var rendererComponent = augmentationTransform.GetComponent<Renderer>();
if(rendererComponent!=null){
rendererComponent.enable = value;
}
var canvasComponent = augmentationTransform.GetComponent<Canvas>();
if(canvasComponent!=null){
canvasComponent.enable = value;
}
var colliderComponent = augmentationTransform.GetComponent<Collider>();
if(colliderComponent!=null){
colliderComponent.enable = value;
} }
for(var i=0; i<augmentationTransform.childCount; i++){
SetEnabledOnChildComponents(augmentationTransform.GetChild(i), value);
} }
void SetVuforiaRenderingComponents(bool value){
var augmentationRendererComponents =
8
47 48 49 50 51 52 53
mObserverBehaviour.GetComponentsInChildren<VuforiaAugmentationRenderer>(false);
foreach (var component in augmentationRendererComponents) {
component.SetActive(value);
} } }
Baris kode ke 1 dan 2 adalah kode untuk menambahkan library UnityEngine dan Vuforia yang dibutuhkan untuk keperluan deteksi marker dan menampilkan objek 3D. Baris kode ke 4 terdapat class yang digunakan untuk menangani proses deteksi marker dan menampilkan atau rendering objek 3D. Di dalam class DefaultAreaTargetEventHandler terdapat fungsi untuk memeriksa jika marker berhasil dideteksi, memeriksa jika marker sudah tidak terdeteksi, mengatur komponen objek 3D, dan mengatur proses rendering atau menampilkan objek 3D.
Baris kode ke 5 hingga 8 adalah fungsi OnTrackingFound yang digunakan untuk memeriksa jika marker berhasil dideteksi oleh kamera. Baris kode ke 9 hingga 12 adalah fungsi OnTrackingLost yang digunakan untuk memeriksa jika marker sudah tidak dideteksi kamera.
Fungsi OnTrackingFound akan memberikan nilai true kepada fungsi SetAugmentationRendering sehingga objek 3D dapat ditampilkan ketika marker terdeteksi.
Fungsi OnTrackingLost akan memberikan nilai false kepada fungsi SetAugmentationRendering sehingga objek 3D tidak ditampilkan ketika marker sudah tidak terdeteksi. Fungsi SetAugmentationRendering yang ada pada baris kode ke 13 hingga 18 digunakan untuk mengatur proses menampilkan objek 3D. Proses menampilkan objek 3D yang ada pada fungsi SetAugmentationRendering terbagi menjadi proses untuk mengaktifkan komponen objek 3D dan proses menampilkan komponen tersebut. Baris kode ke 19 hingga 44 adalah fungsi SetEnabledOnChildComponents yang digunakan untuk mengaktifkan komponen objek 3D berdasarkan nilai yang diberikan dari fungsi SetAugmentationRendering.
Komponen tersebut yaitu komponen Renderer, Canvas, dan Collider. Baris kode ke 45 hingga 52 adalah fungsi SetVuforiaRendering yang berfungsi untuk mengaktifkan proses menampilkan komponen objek 3D berdasarkan nilai yang diberikan dari fungsi SetAugmentationRendering.
Kode Program 2. Rotasi Objek 3D
1 2 3 4 5
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class rotateScript : MonoBehaviour
9
6 7 8 9 10 11
{
void Update() {
transform.Rotate(0, 20*Time.deltaTime ,0);
} }
Baris kode ke 7 adalah fungsi Update yang digunakan sebagai tempat meletakkan kode untuk rotasi objek 3D. Fungsi Update adalah fungsi yang akan dipanggil sekali setiap frame.
Baris kode ke 9 adalah kode program untuk melakukan rotasi objek 3D sebanyak 20 derajat sumbu Y setiap detiknya.
Kode Program 3. Navigasi Halaman
1 2 3 4 5 6 7 8 10 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class navigationScript : MonoBehaviour {
int sceneIndex;
void Start() {
sceneIndex = SceneManager.GetActiveScene().buildIndex;
}
void Update() {
if(Input.GetKeyDown(KeyCode.Escape)){
if(sceneIndex==0){
SceneManager.LoadScene(4);
} else{
SceneManager.LoadScene(0);
} } }
public void toMoveScene(string sceneName) {
SceneManager.LoadScene(sceneName);
if(sceneName == "MainGame || sceneName == "Kuis""){
Destroy(GameObject.Find("Backsound"));
} }
public void quitGame(){
Application.Quit();
} }
Baris kode ke 4 adalah kode untuk mengimpor library SceneManagement agar dapat melakukan perpindahan antar scene/halaman. Baris kode ke 8 adalah kode untuk membuat
10
variabel sceneIndex sebagai tempat menyimpan indeks dari scene yang sedang aktif. Baris kode ke 9 adalah fungsi Start yang merupakan fungsi yang akan dijalankan sekali saat scene terpanggil. Baris kode ke 11 adalah kode untuk mengambil indeks dari suatu scene yang sedang aktif dan selanjutnya akan dimasukkan ke dalam variabel sceneIndex. Baris kode ke 15 hingga 22 merupakan kode yang digunakan untuk navigasi halaman menggunakan tombol kembali yang ada di smartphone. Jika pengguna berada di menu utama dan tombol kembali ditekan, maka halaman akan berpindah ke halaman konfirmasi keluar. Namun jika pengguna berada di menu lainnya, maka halaman akan berpindah ke menu utama. Baris kode ke 24 hingga 30 adalah fungsi untuk berpindah halaman sesuai dengan nama halaman yang ada pada parameter. Jika halaman yang dituju adalah halaman permainan utama atau halaman kuis, maka suara latar akan dihentikan. Baris kode ke 32 hingga 34 adalah kode program untuk keluar dari aplikasi.
Kode Program 4. Trigger Suara Objek 3D
1 2 3 4 5 6 7 8 10 9 11 12 13 14 15 16 17 18 19
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class arSoundScan : MonoBehaviour { public bool firstScan;
public AudioSource audioFile;
void Update() {
if(!firstScan){
audioFile.Stop();
} }
public void firstScanEnable(bool firstScn){
firstScan = firstScn;
} }
Baris kode ke 7 adalah kode untuk membuat variabel yang digunakan untuk mendeteksi apakah ada marker yang sedang dipindai. Baris kode ke 8 adalah kode untuk membuat objek dari audio yang akan dimainkan saat marker dipindai dan objek 3D dimunculkan. Baris kode ke 10 hingga 15 adalah kode untuk membuat audio berhenti dimainkan saat marker tidak lagi dipindai. Baris kode ke 16 hingga 18 adalah fungsi yang digunakan untuk mengganti nilai dari variabel firstScan saat marker dipindai atau berhenti dipindai. Variabel firstScan digunakan untuk menentukan apakah audio akan tetap berjalan atau dihentikan.
11 Kode Program 5. Jawaban Kuis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class quizScript : MonoBehaviour { public GameObject feed_true, feed_false;
public void answer(bool answer){
if(answer){
feed_true.SetActive(false);
feed_true.SetActive(true);
}else{
feed_false.SetActive(false);
feed_false.SetActive(true);
} } }
Baris kode ke 8 adalah kode untuk membuat variabel yang menampung gambar yang digunakan sebagai umpan balik terhadap jawaban yang diberikan pengguna. Baris kode ke 9 hingga 17 adalah fungsi yang digunakan untuk memeriksa jawaban yang diberikan pengguna.
Jika jawaban bernilai true atau benar maka gambar feed_true akan ditampilkan, sebaliknya jika jawaban bernilai false atau salah maka gambar feed_false yang akan ditampilkan.
V. Kesimpulan
Berdasarkan pengumpulan data dan pengujian yang telah dilakukan pada aplikasi AR Megalitikum didapatkan hasil bahwa aplikasi AR Megalitikum dapat digunakan sebagai media dalam belajar mengenai benda-benda Zaman Megalitikum. Aplikasi dan marker AR Megalitikum mudah diakses dan digunakan. Petunjuk aplikasi dan informasi mengenai benda- benda Zaman Megalitikum lengkap serta disajikan secara interaktif sehingga mudah dipahami. Pembelajaran menggunakan aplikasi AR Megalitikum dilakukan secara fleksibel sehingga dapat menghemat waktu dan biaya.
12
VI. Panduan Pemakaian
Panduan penggunaan aplikasi akan ditampilkan menggunakan gambar beserta penjelasannya. Berikut adalah langkah-langkah panduan penggunaan aplikasi AR Megalitikum.
1. Unduh dan cetak marker yang dibutuhkan. Marker dapat diunduh pada link:
https://drive.google.com/file/d/1TavHJsA2W771Jr6mWSQFFJGDJrrRzqtl/view?usp
=sharing
Gambar 3. Marker AR Megalitikum
2. Unduh dan pasang aplikasi AR Megalitikum di smartphone. Aplikasi dapat diunduh
pada link:
https://drive.google.com/file/d/1TavHJsA2W771Jr6mWSQFFJGDJrrRzqtl/view?usp
=sharing
Gambar 4. Proses Pemasangan Aplikasi AR Megalitikum
13
3. Buka aplikasi AR Megalitikum yang telah dipasang sebelumnya. Halaman pertama yang muncul saat aplikasi terbuka adalah halaman Menu Utama. Pada halaman Menu Utama terdapat beberapa pilihan untuk mengarah pada menu yang lain.
Gambar 5. Halaman Menu Utama
4. Pilih Mulai AR untuk dapat memulai permainan. Setelah halaman Mulai AR terbuka, pengguna dapat memindai marker untuk memunculkan objek 3D sesuai dengan marker tersebut. Penjelasan berupa teks dan suara mengenai objek 3D tersebut juga akan dimunculkan. Pengguna dapat kembali ke Menu Utama dengan menekan tombol yang ada di pojok kiri atas layar atau menggunakan tombol kembali pada smartphone.
Gambar 6. Halaman Mulai AR
14
5. Pilih Kuis untuk dapat menjawab pertanyaan seputar benda-benda Zaman Megalitikum. Setelah halaman Kuis terbuka, pengguna dapat memindai marker untuk memunculkan objek 3D dan pertanyaan sesuai dengan marker yang dipindai.
Pengguna dapat memilih satu dari empat pilihan jawaban dari pertanyaan tersebut.
Pengguna dapat kembali ke Menu Utama dengan menekan tombol yang ada di pojok kiri atas layar atau menggunakan tombol kembali pada smartphone.
Gambar 7. Halaman Kuis
6. Untuk melihat petunjuk penggunaan aplikasi, pilih tombol Petunjuk pada Menu Utama.
Gambar 8. Halaman Petunjuk
15
7. Untuk melihat informasi mengenai aplikasi, pilih tombol Tentang pada Menu Utama.
Gambar 9. Halaman Tentang
8. Pilih tombol Keluar pada Menu Utama untuk keluar dari aplikasi. Lalu pilih tombol centang untuk melanjutkan proses keluar atau pilih tombol silang untuk kembali ke Menu Utama.
Gambar 10. Halaman Konfirmasi Keluar
Daftar Pustaka
[1] Hasan, Muhammad, Tuti Khairani Harahap, Inanna, Uswatun Khasanah, dkk, 2021.
Landasan Pendidikan. Sukoharjo: Tahta Media Group.
[2] Setyosari, Punaji, 2014. Menciptakan Pembelajaran yang Efektif dan Berkualitas.
Malang: Jurnal Informasi dan Teknologi Pembelajaran (JINOTEP).
[3] Anshori, M. Junaedi Al. 2007. Sejarah Nasional Indonesia: Masa Prasejarah Sampai Masa Proklamasi Kemerdekaan. Jakarta: PT Mitra Aksara Panaitan.
[4] Karyono. 2011. Pemanfaatan Museum Sebagai Media Pembelajaran Untuk Meningkatkan Pemahaman Siswa Terhadap Materi Prasejarah Bagi Guru-Guru SMA Kota Semarang.
Semarang: Jurnal Fakultas Ilmu Sosial UNNES.
[5] Asmara, Dedi. 2019. Peran Museum Dalam Pembelajaran Sejarah. Kaganga: Jurnal Pendidikan Sejarah dan Riset Sosial Humaniora.
[6] Statcounter GlobalStats. 2021. Mobile Operating System Market Share Indonesia.