• Tidak ada hasil yang ditemukan

Raycasting Pada Augmented Reality Dimensi Tiga

N/A
N/A
Protected

Academic year: 2021

Membagikan "Raycasting Pada Augmented Reality Dimensi Tiga"

Copied!
7
0
0

Teks penuh

(1)

Abstrak— Augmented reality saat ini adalah sebuah teknologi yang digunakan secara luas di berbagai bidang, seperti permainan digital, hiburan, periklanan, bahkan pendidikan. Teknologi augmented reality saat ini terbatas pada memunculkan objek virtual pada lingkungan nyata dua dimensi. Munculnya objek pada augmented reality juga masih tergantung pada posisi marker, sehingga interaksi antara objek virtual dan lingkungan nyata masih sangat terbatas. Pada pengerjaan tugas akhir ini solusi yang ditawarkan adalah dengan menggunakan kamera kedalaman untuk memberikan interaksi objek virtual pada augmented reality pada lingkungan nyata dimensi tiga. Interaksi ini dimungkinkan dikarenakan solusi yang ditawarkan menggunakan algoritma iterative closest point untuk mendapatkan rekonstruksi dimensi tiga dari lingkungan nyata dan dapat melakukan camera tracking, sehingga interaksi yang terbatas pada adanya marker dapat dihilangkan.

Kata KunciAugmented reality, Kinect.

I. PENDAHULUAN

UGMENTED reality adalah sebuah teknologi yang saat

ini sudah digunakan pada bidang yang sangat luas, seperti permainan digital, hiburan, periklanan bahkan pendidikan. Munculnya objek pada augmented reality juga masih tergantung pada posisi marker, sehingga interaksi antara objek virtual dan lingkungan nyata masih terbatas.

Pada penelitian sebelumnya dengan judul “fixed point

augmented reality menggunakan Kinect”[1], telah didapatkan

hasil berupa sistem augmented reality yang mampu menghilangkan keterbatasan interaksi terhadap marker, namun posisi kamera harus statis. Pada tugas akhir ini solusi yang ditawarkan adalah sebuah sistem augmented reality yang di dalamnya terdapat fungsi camera tracking yang mampu menghitung posisi relatif kamera terhadap lingkungan nyata, sehingga posisi kamera dapat bergerak secara bebas.

II. DESAINSISTEMDANIMPLEMENTASI

Gambar 1 merupakan desain dari sistem secara keseluruhan. Sistem terbagi atas dua program utama, yaitu program untuk melakukan rekonstruksi dimensi tiga dan program untuk menjalankan fungsi augmented reality.

A. Rekonstruksi Dimensi Tiga

Rekonstruksi dimensi tiga dari objek nyata menggunakan kamera Kinect dan menggunakan perangkat lunak dengan bantuan pustaka Kinect Fusion dari Kinect SDK. Proses rekonstuksi dimensi tiga terdiri dari lima bagian utama[2].

1) Pengambilan data kedalaman dari kinect

Pada penggunaan kamera Kinect, data kedalaman dapat diaktifkan dengan cara mengaktifkan fungsi DepthStream pada pustaka Kinect SDK. Data kedalaman yang digunakan pada aplikasi ini memiliki resolusi 320 x 240 piksel. Resolusi kecil diambil agar pemrosesan data kedalaman dapat dilakukan dengan cepat, dikarenakan permrosesan data kedalaman dengan ukuran yang besar memerlukan sumber daya yang sangat besar.

2) Konversi Depth Map

Data yang didapatkan dari Kinect sebenarnya adalah data dua dimensi yang berada dalam koordinat gambar. Dalam konversi ini, data dalam koordinat gambar akan dirubah menjadi data dalam data tiga dimensi pada koordinat kamera yang disebut sebagai vertice. Konversi diperlukan karena data yang dapat diproses untuk tahap selanjutnya adalah datayang memiliki data x, y, dan z.

Proses konversi dapat dilakukan dengan menggunakan perhitungan matematis dengan memperhitungkan parameter intrinsik dari kamera Kinect.

3) Menghitung Point Normal

Langkah selanjutnya adalah menghitung arah normal dari setiap titik yang ada pada depth map. Tujuan dari perhitungan point normal ini adalah untuk mengetahui arah orientasi normal dari suatu titik terhadap titik-titik yang ada di

Raycasting Pada Augmented Reality

Dimensi Tiga

Wahyu Setyo Budi, Supeno Mardi Susiki Nugroho, dan Christyowidiasmoro

Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111

E-mail: [email protected], [email protected], [email protected]

A

(2)

sekelilingnya. Arah ini nantinya akan disimpan pada setiap titik yang ada.

4) Camera Tracking

Iterative Closest Point (ICP) adalah sebuah algoritma yang

digunakan untuk alignment dua buah bentuk dimensi tiga. ICP menghitung posisi kamera pada setiap depth frame dengan cara melakukan alignment antara frame yang diproses dengan

frame sebelumnya. Pada tahap ini, frame yang diproses

dengan frame sebelumnya tidak boleh memiliki jarak yang sangat jauh. Hal ini disebabkan karena algoritma Iterative

Closest Point menggunakan metode penghitungan jarak

terdekat antara kedua titik untuk mencari korespondensi. Perbedaan yang jauh akan membuat algoritma ini gagal mencari korespondensi karena kesalahan estimasi yang akhirnya menghasilkan galat yang sangat besar. Ilustrasi algoritma ICP dalam melakukan proses alignment dari dua buah depth map dapat dilihat pada gambar 2.

Dengan menggunakan algoritma ICP pada pustaka Kinect Fusion, luaran yang didapatkan adalah parameter ekstrinsik dari kamera yaitu berupa matrix 4x4 [3].

5) Volumetric Integration [2]

Pustaka Kinect fusion menggunakan volumetric surface

representation sebagai representasi dari rekonstruksi dimensi

tiga dari objek nyata. Integrasi dari depth data terhadap volume dilakukan pada setiap frame secara terus menerus sampai program dihentikan. Proses integrasi menggunakan

running average untuk mengurangi noise. Pada saat kamera

bergerak memindai lingkungan nyata, lubang yang ada pada volume akan terisi. Volume akan menjadi lebih detail ketika kamera mendekati lingkungan nyata dan mendapatkan depth

data dengan resolusi yang lebih tinggi. B. Aplikasi Augmented Reality

Setelah proses rekonstruksi dimensi tiga, beberapa data akan digunakan oleh aplikasi augmented reality sebagai data masukan. Proses ini terbagi menjadi empat bagian utama.

1) Atur Parameter Kamera

Pada proses sebelumnya telah didapatkan parameter ekstrinsik dari kamera yaitu berupa matrix 4x4 pada persamaan 1. [ 𝑚1 𝑚5 𝑚2 𝑚6 𝑚9 𝑚13 𝑚10 𝑚14 𝑚3 𝑚7 𝑚4 𝑚8 𝑚11 𝑚15 𝑚12 𝑚16 ] (1) Persamaan 1 didekomposisi sehingga menjadi parameter yang digunakan pada aplikasi Augmented reality yang menggunakan Microsoft XNA Game Studio. Beberapa parameter yang diperlukan adalah posisi kamera (persamaan 2), target kamera (persamaan 3), pitch (persamaan 4), roll (peramaan 5), dan yaw (persamaan 6). Pada saat inisiasi awal, semua parameter tersebut bernilai nol.

[ 𝑥 𝑦 𝑧 ] = − [𝑚1 𝑚5 𝑚9 𝑚2 𝑚3 𝑚6 𝑚7 𝑚10 𝑚11 ] 𝑇 ∗ [ 𝑚13 𝑚14 𝑚15 ] (2) [ 𝑥 𝑦 𝑧 ] = [ 𝑚1 𝑚5 𝑚9 𝑚2 𝑚3 𝑚6 𝑚7 𝑚10 𝑚11 ] 𝑇 ∗ [ 0 0 1 ] (3) 𝑝𝑖𝑡𝑐ℎ = 𝑎𝑡𝑎𝑛2(𝑚7, 𝑚11) 𝑟𝑎𝑑 (4) 𝑟𝑜𝑙𝑙 = 𝑎𝑡𝑎𝑛2(𝑚2, 𝑚1) 𝑟𝑎𝑑 (5) 𝑦𝑎𝑤 = 𝑎𝑡𝑎𝑛2 (−𝑚3, √𝑚72+ 𝑚112) 𝑟𝑎𝑑 (6) 2) Render Data RGB

Kamera Kinect menangkap gambar RGB dengan kecepatan sebesar 30 fps. Untuk keperluan augmented reality, gambar yang ditangkap oleh kamera Kinect harus ditampilkan pada bagian program kedua. Streaming video ini nantinya akan digambar pada XNA sebagai sebuah texture yang berada pada sebuah persegi panjang di depan kamera. Video tersebut akan selalu diperbarui pada setiap frame.

3) Render Objek Virtual

Pada augmented reality ini, program akan memunculkan objek virtual pada lingkungan nyata. Posisi dari keluarnya objek virtual telah ditentukan sebelumnya pada satu koordinat x, y, z.

(3)

Pada program ini, objek virtual akan selalu berada pada posisi yang sama walaupun posisi kamera bergerak. Posisi objek virtual yang selalu berada pada posisi yang tetap walaupun terjadi pergerakan kamera dapat dilihat pada gambar 3.7 a dan 3.7 b. Pada gambar tersebut posisi objek virtual yang berupa teko selalu berada pada posisi yang sama walaupun kamera bergeser.

Sebelum render objek virtual dilakukan, proses yang sebelumnya dilakukan adalah inisiasi parameter kamera pada

Microsoft XNA Game Studio dengan menggunakan parameter

yang didapatkan dari algoritma ICP pada proses sebelumnya. Setelah itu proses yang selanjutnya dilakukan adalah proses render data RGB sebagai texture. Setelah kedua proses tersebut selesai dilakukan, proses yang selanjutnya dilakukan adalah melakukan render objek virtual sesuai dengan posisi yang sudah ditentukan sebelumnya (0, 0, 1.5f).

4) Depth Masking

Tahapan selanjutnya adalah melakukan depth masking pada

augmented reality. Depth masking memberikan efek interaksi

kedalaman antara objek nyata dan objek virtual. Hasil dari depth masking dapat terlihat pada gambar 4. pada gambar 4 sebagian objek virtual berada di belakang objek nyata.

Depth masking ini dilakukan dengan mendapatkan depth map dari rekonstruksi dimensi tiga dari sudut pandang kamera

saat itu. Untuk mendapatkan depth map dari sudut pandang kamera digunakan metode raycasting. Metode raycasting dilakukan dengan memancarkan sinar dari posisi tertentu, pada kasus ini dari posisi kamera, dan semua titik yang

terkena cahaya nantinya akan diambil dan digunakan sebagai

depth masking pada augmented reality.

Gambar 5 Ilustrasi raycast

Gambar 5 adalah ilustrasi raycasting. Titik berwarna kuning adalah sumber raycast yang berupa kamera dan garis kuning adalah ilustrasi cahaya yang diarahkan ke rekonstruksi dimensi tiga. Render Depth Masking jeda = maxJeda? Set maxJeda Set jeda Reset jeda Increment Jeda Selesai Mulai Update data Depth Masking (Raycasting) Render data RGB Render Objek Virtual Inisiasi kamera pada XNA Parameter kamera dari ICP A A

Gambar 6 Alur Render Depth Masking

Gambar 6 adalah alur render setelah depth masking diaktifkan. Bagan dengan warna biru menunjukkan proses mendapatkan data dan render depth masking. Data yang didapatkan dari proses raycasting digunakan pada augmented

reality sebagai depth masking. Proses ini dilakukan setelah

proses render data RGB dan objek virtual selesai. Pada proses raycsting terdapat jeda yang diatur tiap beberapa

frame sesuai dengan maxJeda. Saat hitungan jeda masih di

bawah nilai maxJeda, maka data yang digunakan sebagai

depth masking adalah data hasil raycast sebelumnya. Ketika

jeda sama dengan maxJeda, maka proses raycasting baru dilakukan. Hal ini dapat menghemat sumber daya yang digunakan untuk menjalankan sistem, sehingga performa sistem dapat meningkat.

(a) (b)

Gambar 3 (a) dan (b) Hasil render objek virtual dari sudut pandang berbeda.

(4)

III. HASILPENGUJIAN

Pengujian dari software dan hardware yang telah diimplementasikan untuk mengetahui apakah fungsi dari sistem yang direncanakan telah bekerja sesuai dengan rancangan.

Tabel 1 Spesifikasi komputer

Komponen Spesifikasi

Sistem Operasi Windows 7 Ultimate 64-bit

Processor Intel Core ™ i7 CPU @2.2 GHz (4CPUs)

Memory 4096MB RAM

Versi DirectX DirectX 11

Versi DxDiag 8.15.10.2626 64-bit Unicode

Display Adapter Name NVIDIA GeForce GT 640M Total Display Memory 2GB

Spesifikasi komputer yang digunakan dalam pengujian ini ditampilkan pada Tabel 1.

A. Pengujian Dengan Benda Sederhana

Dari sistem yang telah dibuat dilakukan analisa untuk dapat menentukan performa dari aplikasi yang dibuat pada beberapa skenario yang mungkin dihadapi. Skenario pertama yang dibuat adalah sebuah lingkungan nyata yang sangat sederhana, yaitu sebuah sebuah kubus dengan sisi yang rata. Lingkungan nyata pada pengujian ini dapat dilihat pada gambar 7.

Gambar 7 Lingkungan nyata pengujian

Pada pengujian ini, kotak diletakkan sejauh 1 meter di depan kamera. Pemilihan lokasi ini berada pada jarak ideal penangkapan data kedalaman Kinect, yaitu 0.8 m – 4 m. pengujian diawali dengan memunculkan objek virtual berupa teko di belakang posisi kotak. Langkah selanjutnya adalah menggerakkan kamera dengan beberapa macam gerakan dan melihat posisi objek virtual. Ilustrasi dari pengujian pertama dapat dilihat pada gambar 7.

Gambar 8. Ilustrasi pengujian

Dari pengujian yang dilakukan, didapatkan beberapa hasil. Hasil dari pengujian pertama dapat dilihat pada tabel 2.

Tabel 2 Hasil pengujian pada benda sederhana

No Hasil Pengujian

1

2

3

(5)

Dari hasil pada tabel 2. Posisi awal objek virtual adalah pada baris nomor 1. Baris selanjutnya menunjukkan perubahan posisi dan target kamera. Dari hasil pengujian terlihat bahwa posisi objek tetap berada pada posisi semula walaupun kamera dirubah posisi dan targetnya. Pada pengujian terlihat bahwa depth masking memiliki performa yang terlihat cukup baik meskipun masih terdapat celah antara objek virtual dan objek nyata. Celah ini ditandai dengan warna merah pada gambar.

B. Pengujian Dengan Benda Tak Beraturan

Skenario yang digunakan saat ini adalah melakukan pengujian pada lingkungan nyata yang memiliki sebuah objek nyata dengan bentuk yang tak beraturan. Objek dengan bentuk tak beraturan yang dimaksud adalah objek yang bidangnya tidak merupakan bagian dari model bangun ruang dimensi tiga primitiv (kubus, balok, limas, dll). Tujuan dilakukan pengujian ini adalah untuk melihat seberapa handal sistem dalam memberikan depth map yang tepat pada objek yang bentuk bidangnya tidak beraturan. Ilustrasi dari pengujian kali ini dapat dilihat pada gambar 9.

Gambar 9 Ilustrasi pengujian

Pengujian diawali dengan memunculkan objek virtual berupa teko di belakang posisi benda nyata. Percobaan dilakukan beberapa kali dengan menggunakan objek nyata yang berbeda untuk melihat kemampuan sistem jika pada lingkungan nyata terdapat objek nyata dengan bentuk tidak beraturan. Hasil dapat dilihat pada tabel 3.

Dari hasil pengujian terhadap beberapa benda dengan bentuk yang tidak beraturan terlihat bahwa depth masking tidak berjalan sempurna, ada beberapa area yang memiliki oleh depth masking yang tidak sempurna dan tidak sesuai dengan lingkungan nyata. Area yang seharusnya ditandai oleh kurva merah merupakan area yang kesalahan dalam depth

masking. Hal ini dikarenakan kemampuan kamera Kinect yang

kurang presisi. Dari hasil juga terlihat bahwa semakin rumit bentuk objek nyata, semakin besar galat pada depth masking. Galat yang paling besar dapat dilihat pada percobaan dengan objek nyata nomor 5 pada table 3. Pada area yang ditandai warna merah seharusnya gambar objek virtual yang ditutupi objek nyata dapat terlihat dari celah objek nyata, namun objek nyata dikenali sebagai objek pejal dan tidak terdapat lubang, sehingga objek virtual tertutup penuh. Hal ini diakibatkan karena Kinect tidak memiliki presisi yang tinggi, sehingga

data rekonstruksi dimensi tiga yang digunakan sebagai depth

masking tidak memiliki detail yang baik.

C. Pengujian Pengaruh Nilai Jeda Depth Masking Terhadap Performa Sistem

Pada pengujian ini parameter yang akan diukur adalah hubungan antara performa dan kualitas depth masking. Fitur

depth masking membutuhkan sumber daya yang besar,

sehingga membuat performa dari sistem menurun. Dalam Tabel 3 Hasil pengujian pada benda tak beraturan

No Hasil Pengujian 1 2 3 4 5

(6)

pengujian ini performa sistem diukur dengan besarnya frame

per second yang dapat diraih.

Untuk membuat performa sistem naik dapat dilakukan dengan memberikan jeda pada fitur depth masking. Depth masking tidak diperbarui pada setiap frame, namun diberikan jeda beberapa frame sebelum depth masking diperbarui. Tindakan ini dapat membuat performa sistem meningkat, namun ada waktu jeda antara video streaming dan depth

masking. Hasil pengujian dapat dilihat pada gambar 10.

Gambar 10. Grafik hasil pengujian pemberian jeda depth

masking

Pengujian ini akan mencari nilai jeda yang optimal agar performa sistem dapat naik, namun tidak memberikan jeda update depth masking yang terlalu lama. Dari hasil pengujian ini didapatkan bahwa pengaruh depth masking terhadap performa sistem cukup besar, yaitu terjadi penurunan rata-rata performa sistem sebesar 7.29 fps atau sebesar 51.19% dari performa sistem. Pada pengujian ini pemberian jeda sebesar 3

frame jeda untuk update depth mask memberikan hasil yang

paling optimal. Jika jeda update depth frame di atas 3 frame, maka jeda update depth frame akan bernilai lebih dari 0.5 detik. Jeda selama 0.5 detik adalah nilai yang masih dapat diterima pada pengujian berdasarkan pengamatan visual.

D. Pengujian dan Analisa Pada Objek Virtual Bergerak

Skenario yang digunakan pada pengujian kali ini adalah dengan menggunakan objek virtual yang bergerak sesuai dengan jalur gerakan yang sudah ditentukan sebelumnya. Pada lingkungan nyata terdapat sebuah kubus dengan sisi yang rata. Pada saat inisiasi, objek virtual berada pada posisi (-.5f, 0, 1.5f). Koordinat ini menempatkan objek virtual berada di belakang objek nyata (pada sumbu z) jika ditinjau dari posisi inisiasi kamera. Pada pengujian sistem kali ini, objek virtual bergerak searah sumbu x dengan kecepatan 0.003f per frame. Tujuan dari pengujian ini adalah untuk melihat seberapa handal sistem dalam menangani objek virtual yang terus bergerak pada saat sistem sedang berjalan.

Gambar 11 (a) Jalur pergerakan objek virtual (b) setelah pergerakan kamera

Hasil pengujian dapat dilihat pada gambar 11 a. Pada saat inisiasi awal, pesawat berada di sebelah kanan dari objek nyata yang berupa kubus. Pada saat program berjalan, objek

virtual bergerak searah sumbu x mengikuti garis. Garis

berwarna hijau adalah garis yang menunjukkan posisi objek

virtual tidak tertutup oleh depth masking, sedangkan garis

merah adalah koordinat dimana objek virtual tertutup oleh

depth masking. Dari hasil pengujian terlihat bahwa pada

beberapa koordinat objek virtual yang seharusnya tertutup oleh depth masking ternyata tidak tertutupi oleh depth

masking, begitu juga sebaliknya.

Gambar 11 b adalah hasil sistem ketika posisi kamera berubah. Ketika kamera bergerak terlihat bahwa objek virtual tetap berada pada jalur yang sama seperti saat posisi kamera belum bergerak (gambar 11 a). hal ini menunjukkan bahwa sistem berjalan dengan cukup baik pada kasus objek virtual yang bergerak jika ditinjau pada konsistensi posisi objek

virtual terhadap pergerakan kamera.

E. Pengujian Kecepatan Pergerakan Kamera

Skenario yang digunakan pada pengujian ini adalah dengan menggerakkan kamera pada kecepatan tertentu. Dari hasil pengujian sebelumnya diketahui bahwa performa sistem cukup rendah dengan performa maksimal sebesar 14.24 fps. Dengan performa yang rendah, kecepatan pergerakan kamera tidak bisa terlalu tinggi dikarenakan akan mengakibatkan kegagalan dalam proses camera tracking. Tujuan dari pengujian ini adalah untuk mengetahui kecepatan kamera yang dapat diterima sebagai masukan sistem tanpa terjadi kegagalan

camera tracking.

Pada pengujian ini, di lingkungan nyata terdapat sebuah kubus dengan sisi yang rata dengan jarak 1 meter di depan kamera. Fitur fepth masking diaktifkan dengan menggunakan jeda sebesar 3 frame. Kamera digerakkan searah dengan sumbu x sejauh 50 cm. Hasil pengujian dapat dilihat pada tabel 4.5.

Dari pengujian didapatkan hasil bahwa keberhasilan camera

tracking sebesar 100% dapat diraih dengan kecepatan

pergerakan kamera sebesar 0,1 m/detik. 14.24 6.95 7.61 8.26 8.99 9.374 10.82 0.072 0.144 0.263 0.484 0.667 0.821 0.924 0 5 10 15 tanpa depth mask 0 1 3 5 7 9 FPS Jeda Frame

(7)

Tabel 4.5 Hasil pengujian kecepatan pergerakan kamera

No Kecepatan (m/detik) Percobaan

Presentase Keberhasilan (%) 1 2 3 4 5 1 0,250 x x x x v 20 2 0,167 x x v x v 60 3 0,125 v v x v v 80 4 0,100 v v v v v 100 5 0,083 v v v v v 100

IV. KESIMPULANDANSARAN

A. Kesimpulan

Berdasarkan pada hasil perancangan, simulasi dan pengujian dari keseluruhan sistem dalam Tugas Akhir ini, maka diperoleh kesimpulan sebagai berikut:

1. Dengan adanya pergerakan kamera, objek virtual tetap berada pada posisi seharusnya.

2. Pengujian performa menunjukkan bahwa pengaruh fitur depth mask terhadap performa sistem cukup tinggi. Saat fitur ini diaktifkan dengan jeda 0 frame terjadi penurunan performa sebesar 7.29 fps dari 14.24 fps menjadi 6.95 fps atau sebesar 51.19% dari performa sistem.

3. Nilai jeda antara depth masking yang paling optimal berdasarkan hasil pengamatan adalah sebesar 3 frame dengan performa sistem sebesar 8.26 fps dan perbaharuan visual depth masking adalah 0.484 detik. Peningkatan performa sistem yang terjadi dengan penggunaan nilai ini adalah sebesar 1.31 fps atau 18.85% jika dibandingkan dengan tanpa penggunaan jeda.

4. Kecepatan pergerakan kamera sebesar 0,1 m/detik adalah kecepatan kamera maksimum dengan keberhasilan camera tracking sebesar 100%.

B. Saran

Penelitian selanjutnya sebaiknya menambahkan fitur

segmentasi pada rekonstruksi dimensi tiga sebagai posisi

keluarnya objek virtual. Dengan fitur tersebut munculnya dapat dibangun sebuah smart terrain yang bersifat adaptif terhadap kondisi lingkungan nyata.

DAFTARPUSTAKA

[1] Ashari, Riska Wahyu. “Fixed Point Augmented Reality Menggunakan

Kinect”. Publikasi Tugas Akhir. Surabaya: Institut Teknologi Sepuluh

Nopember, 2013.

[2] Izadi, Zahram. “KinectFusion: Real-time 3D Reconstruction and

Interaction Using a Moving Depth Camera”. Microsoft Research.

Cambridge University, 2011.

[3] Colas, Francis. “Iterative Closest Point Algorithm”. [Presentation] Zurich : ETHZurich, 2011.

Referensi

Dokumen terkait

Berkaitan dengan hasil penelitian ini, dimana sebagian besar subjek memiliki profil lipid darah yang kurang baik, Penulis menyarankan kepada masyarakat terutama pada lansia

Dengan demikian diperlukan agenda ijtiha > d yang mendalam oleh para ekonom Muslim masa kini, untuk setidaknya, menjadikan aplikasi mud} a > rabah pada bank syari’ah

Adapun tujuan dari penganalisaan data dalam penelitian ini adalah untuk menguji hipotesis yang telah dikemukakan yaitu Prestasi belajar matematika yang diajar dengan

Pada kegiatan penelitian ini peneliti melakukan observasi pada keterlaksanaan Rencana Pelaksanaan Pembelajaran yang dibuat guru kelas V SDN 64/I Muara Bulian

ANALISIS PENGELOLAAN OBAT PADA TAHAP PENGADAAN DI INSTALASI FARMASI RUMAH SAKIT ISLAM SULTAN AGUNG3.

(3) Pembimbing, pengarah, pembina, dan penasehat: untuk mendukung tercapainya visi dan misi MI Wali Songo Asy-Syirbaany, pengurus kepala madrasah memiliki peranan

kadar lemak bubuk kakao melalui proses ekstraksi dengan pelarut organik dan meningkatkan kualitas bubuk kakao sehingga dapat sesuai dengan standar dan dapat

Diharapkan nilai rasio konsentrasi yang diperoleh dari penelitian ini dapat melengkapi data transfer radionuklida dari tanah ke tanaman pangan yang spesifik