Penentuan Lintasan Terbaik Dengan Algoritma Dynamic Programming Pada Fitur Get Driving Directions Google Maps

dokumen-dokumen yang mirip
Program Dinamis. Oleh: Fitri Yulianti

Program Dinamis (dynamic programming):

Program Dinamis (Dynamic Programming)

TIN102 - Pengantar Teknik Industri Materi #10 Ganjil 2015/2016 TIN102 PENGANTAR TEKNIK INDUSTRI

Penerapan Program Dinamis dalam Menentukan Rute Terbaik Transportasi Umum

Program Dinamis (Dynamic Programming)

Program Dinamis Sebagai Algoritma Dalam Link State Routing Protocol

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Penerapan Program Dinamis Pada Sistem Navigasi Otomotif

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 09

Penerapan Dynamic Programming pada sistem GPS (Global Positioning System)

MODUL I PROGRAM DINAMIS

Deteksi Wajah Menggunakan Program Dinamis

BAB III ALGORITMA GREEDY DAN PROGRAM DINAMIS

Implementasi Pemrograman Dinamis dalam Pencarian Solusi Permainan Menara Hanoi

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Paradigma Pemrograman Dinamis dalam Menentukan Rute Distribusi Bahan Bakar Minyak Berdasarkan Kebutuhan Penduduk di Suatu Daerah

PENENTUAN RUTE TERPENDEK MENUJU KAMPUS MENGGUNAKAN ALGORITMA DYNAMIC PROGRAMMING

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

Pemanfaatan Algoritma Program Dinamis dalam Pendistribusian Barang

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

Penentuan Menu Makan dengan Pemrograman Dinamis

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Penerapan Program Dinamis untuk Optimisasi Taktik Pit Stop F1

Penentuan Rute Terbaik pada Permainan Taxi Rider

PENEMPATAN KANTOR POS DENGAN ALGORITMA PROGRAM DINAMIS

Analisis Permainan FLIP Menggunakan Algoritma Program Dinamis

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

Pencarian Lintasan Terpendek Jalur Pendakian Gunung dengan Program Dinamis

Pencarian Jalur Terpendek Pada Sistem Jaringan Komputer Menggunakan Algoritma Program Dinamis

Pendekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment

Mendapatkan Keuntungan Investasi Tertinggi dengan Memanfaatkan Algoritma Dynamic Programming

Penerapan Algoritma Program Dinamis dalam Penjadwalan Pengerjaan Sekumpulan Tugas Pelajar

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

BAB 2 LANDASAN TEORI

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

BAB 2 LANDASAN TEORI

II. TEORI DASAR. Kata Kunci levenshtein; program dinamis; edit distance; twitter

Perencanaan Kebijakan Penggantian Alat Masak Paling Optimal pada Usaha Restoran dengan Menggunakan Program Dinamis

Penggunaan Algoritma Dynamic Programming pada Aplikasi GPS Car Navigation System

Analisa Keputusan Manajemen dengan Pemrograman Dinamis

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

Penerapan Algoritma Program Dinamis pada Penyejajaran Sekuens dengan Algoritma Smith Waterman

Optimalisasi Susunan Tempat Duduk Kereta Api Menggunakan Algoritma Greedy dan Program Dinamis

Penerapan Greedy pada Jalan Jalan Di Bandung Yuk! V1.71

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

Pengaturan Pilihan Makanan untuk Memenuhi Kebutuhan Kalori dengan Algoritma Pemrograman Dinamis

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

II. TEORI DASAR I. PENDAHULUAN. utang piutang dengan strategi algoritma greedy.

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Penentuan Strategi Pemasaran Produk dengan Algoritma Program Dinamis

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Penerapan Algoritma Boyer Moore-Dynamic Programming untuk Layanan Auto-Complete dan Auto-Correct

Ika Zulhidayati (1), Kartika Yulianti (2) ABSTRAK

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Implementasi Algoritma DFS pada permainan Monument Valley

MENENTUKAN LINTASAN TERPENDEK SUATU GRAF BERBOBOT DENGAN PENDEKATAN PEMROGRAMAN DINAMIS. Oleh Novia Suhraeni 1, Asrul Sani 2, Mukhsar 3 ABSTRACT

Pemanfaatan Algoritma Runut-balik dalam Penentuan Golongan Suara pada Dunia Paduan Suara

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

Strategi Permainan Menggambar Tanpa Mengangkat Pena

Aplikasi Dynamic Programming dalam Decision Making pada Reinvestment Problem

Pencarian Jalur Terpendek dengan Menggunakan Graf dan Greedy dalam Kehidupan Sehari-hari

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Penerapan Exhaustive Search dan Algoritma A Star untuk Menentukan Rute Terbaik dari KRL Commuter Line dan Bus Transjakarta

Strategi Routing dalam Jaringan Komputer

Perbandingan Algoritma Dijkstra dan Algoritma Bellman Ford pada Routing Jaringan Komputer

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

Penerapan Dynamic Programming dalam Penentuan Pengambilan Job dalam Euro Truck Simulator 2

Penerapan Algoritma Runut Balik pada Pathuku Games

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Penerapan Algoritma Greedy dan Algoritma BFS untuk AI pada Permainan Greedy Spiders

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

Penerapan Algoritma BFS dan DFS dalam Permainan Ular Tangga

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Pendekatan Algoritma Divide and Conquer pada Hierarchical Clustering

Perbandingan Penerapan Algoritma Greedy dengan Program Dinamis untuk Penyelesaian Menara Hanoi

Penggunaan Algoritma Pathfinding pada Game

Penerapan Algoritma Greedy pada Permainan Tower Defense

Pengembangan Algoritma Greedy untuk Game Treasure Hunter

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Program Dinamis dalam Menentukan Kegiatan Olahraga dengan Pembakaran Kalori Optimal

Transkripsi:

Penentuan Lintasan Terbaik Dengan Algoritma Dynamic Programming Pada Fitur Get Driving Directions Google Maps Michael Ingga Gunawan 13511053 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia michael.ingga@students.itb.ac.id Abstrak Google, sebagai mesin pencari terbesar di dunia, telah diakui dan dikenal oleh seluruh penjuru dunia akan fitur-fitur dan inovasi-inovasi yang telah dikembangkan olehnya. Salah satu permasalahan yang sering kita hadapi ketika sedang bepergian untuk rekreasi atau jalan-jalan ke suatu tempat adalah terkadang kita tidak mengetahui arah dan jalur yang tepat untuk mencapai tujuan tersebut dan mengetahui berapa lama kita dapat mencapai tujuan tersebut, jika mengambil salah satu jalur tersebut. Untuk itu, Google telah menyediakan salah satu inovasinya bernama Google Maps yang merupakan salah satu penyedia aplikasi peta yang menyediakan fitur Get Driving Directions untuk para penggunanya. Pada saat kita menggunakan fitur ini dan telah menentukan tempat tujuan kita, maka Google Maps akan memberikan beberapa alternatif pilihan jalur yang bisa kita lewati. Pada kesempatan kali ini, kita akan menguji apakah jalur yang disarankan oleh Google Maps tersebut merupakan lintasan terbaik dengan menggunakan algoritma Dynamic Programming. Sebuah peta adalah representasi dua dimensi dari suatu ruang tiga dimensi. Ilmu yang mempelajari pembuatan peta disebut kartografi. Banyak peta yang mempunyai skala, yang menentukan seberapa besar objek pada peta dalam keadaan yang sebenarnya. Kata Kunci Dynamic programming, maps, optimum solution, path finding. I. PENDAHULUAN Beberapa tahun yang lalu, peta sering kita gunakan untuk mengetahui arah dan jalur yang tepat untuk mencapai suatu tempat tujuan tertentu. Di dalam peta tersebut terdapat berbagai macam informasi mengenai jalur-jalur yang ada, tempat-tempat yang kita ingin kunjungi beserta daerah-daerah tertentu yang merupakan dataran tinggi, dataran rendah, sungai, gunung, dan lainlain. Secara harafiah, peta adalah gambaran permukaan bumi pada bidang datar dengan skala tertentu melalui suatu sistem proyeksi. Peta dapat disajikan dalam berbagai macam cara yang berbeda, mulai dari peta konvensional yang tercetak hingga peta digital yang tampil di layar computer. Asal mula istilah peta ini berasal dari Bahasa Yunani mappa yang berarti sebuah taplak atau kain penutup meja. Namun, secara umum pengertian peta adalah lembaran seluruh atau sebagian permukaan bumi pada bidang data yang diperkecil dengan menggunakan skala tertentu. Gambar 1.1 Peta Konvensional Bandung Seiring dengan berkembangnya teknologi, peta konvensional pun berkembang menjadi peta digital yang dapat berada pada perangkat elektronik yang ada seperti handphone, GPS, dsb. Peta digital menjadi salah satu kebutuhan yang diperlukan oleh kita ketika kita sedang ingin bepergian ke suatu tempat. Gambar 1.2 Peta Digital Bandung dalam Google Maps Salah satu peta digital yang diakui dan paling banyak

dikenal oleh seluruh dunia adalah Google Maps. Google Maps adalah sebuah aplikasi penyedia pemetaan pada web yang menyediakan berbagai macam fitur-fitur seperti Google Ride Finder, Google Transit, Google Maps API, dan dapat menentukan rute atau jalur pada peta yang akan kita tuju dengan menggunakan tombol Get Driving Directions. Ketika kita menekan tombol tersebut, maka Google Maps akan menyarankan beberapa alternatif jalur yang akan kita lewati. Selain menyarankan beberapa alternative jalur, Google juga menampilkan jarak dari posisi awal hingga ke tujuan beserta estimasi waktu perjalanan bila kita mengambil jalur tersebut. Gambar 1.3 Beberapa Jalur Alternatif yang disarankan oleh Google Maps untuk menuju Institut Teknologi Bandung Masalah yang sering ditemui ketika kita menggunakan peta konvensional adalah kita harus mengetahui posisi kita berada, jalur yang akan kita pilih dan harus mencari daerah tempat tujuan tersebut dalam peta konvensional. Dengan adanya Google Maps ini, masalah-masalah yang kita sering temui dalam peta konvensional sudah terselesaikan. Beserta masalah tentang jalur mana yang harus kita ambil pada saat bepergian. Namun, apakah jalur-jalur yang disarankan oleh Google Maps tersebut merupakan jalur-jalur terbaik yang ada. Untuk membuktikan hal tersebut, maka akan digunakan algoritma Dynamic Programming dalam menentukan jalur yang terbaik yang dapat kita ambil. II. DASAR TEORI Pemrograman Dinamis atau yang biasa disebut Dynamic Programming adalah salah satu strategi algoritma atau desain algoritma selain Breadth First Search Algorithm (BFS), Depth First Search Algorithm (DFS), Greedy Algorithm, dan Divide and Conquer untuk menyelesaikan suatu persoalan Metode pemecahan masalah tersebut adalah dengan cara menguraikan solusi menjadi sekumpulan tahapan (stage) yang nanti akan dipilih. Solusi dari persoalan tersebut dapat dipandang dari serangkaian keputusan yang saling berkaitan. Istilah program dinamis ini muncul karena perhitungan solusi yang menggunakan tabel-tabel. Gambar 2.1 Pencarian jalur terpendek dalam sebuah graph dengan menggunakan dynamic programming. Garis yang di bold merupakan jalur terpendek yang paling optimal yang ditemukan. Karakteristik permasalahan yang dapat diselesaikan dengan menggunakan program dinamis : 1. Terdapat sejumlah berhingga pilihan yang mungkin yang kemudian nanti dipecah ke dalam beberapa upapilihan yang lebih sederhana. 2. Solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya yang merupakan pilihan yang optimal dari pilihan yang ada. 3. Kita menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap untuk mencapai solusi global. Terdapat beberapa perbedaan Algoritma Program Dinamis dengan Algoritma Greedy : Pada Algoritma Greedy, hanya satu rangkaian keputusan yang dihasilkan dari penyelesaian solusi permasalahan. Pada Algoritma Program Dinamis, terdapat lebih dari satu rangkaian keputusan yang dipertimbangkan yang dihasilkan dari penyelesaian solusi permasalahan. Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas. Prinsip Optimalitas : jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal. Prinsip optimalitas berarti bahwa jika kita bekerja dari tahap k ke tahap k + 1, kita dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke tahap awal. Ongkos pada tahap k + 1 = (ongkos yang dihasilkan pada tahap k) + (ongkos dari tahap k ke tahap k + 1) Gambar 2.2 Prinsip optimalitas

Karakteristik persoalan program dinamis : 1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan. 2. Masing-masing tahap terdiri dari sejumlah status (stage) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut. 3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya. 4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan. 5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut. 6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya. 7. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k + 1. 8. Prinsip optimalitas berlaku pada persoalan tersebut. 2. Program dinamis mundur. Program dinamis bergerak mulai dari tahap n, terus mundur ke tahap n-1, n-2, dan seterusnya sampai tahap 1. Runtunan peubah keputusan adalah x n, x n-1,, x 1. Prinsip optimalitas pada Program Dinamis maju: Ongkos pada tahap k + 1 = (ongkos yang dihasilkan pada tahap k) + (ongkos dari tahap k ke tahap k + 1) k = 1, 2,, n-1 Prinsip optimalitas pada Program Dinamis mundur: Ongkos pada tahap k = (ongkos yang dihasilkan pada tahap k + 1) + (ongkos dari tahap k +1 ke tahap k) k = n, n-1,, 1 Langkah-langkah pengembangan algoritma Program Dinamis : 1. Karakteristikkan struktur solusi optimal. 2. Definisikan secara rekursif nilai solusi optimal. 3. Hitung nilai solusi optimal secara maju atau mundur. 4. Konstruksi solusi optimal. III. JALUR JALUR YANG DIDAPAT PADA FITUR GET DRIVING DIRECTIONS GOOGLE MAPS V 1 V 2 V 3 V 4 V 5 2 6 9 3 1 7 10 12 4 8 11 5 Gambar 2.3 Multistage graph. Tiap simpul di dalam graf tersebut menyatakan status, sedangkan V 1, V 2, menyatakan tahap. Pada pemrograman dinamis terdapat dua pendekatan yang dapat digunakan : 1. Program Dinamis Maju (forward atau up-down). 2. Program Dinamis Mundur (backward atau bottomup). Misalkan terdapat x 1, x 2,., x n menyatakan peubah (variable) keputusan yang harus dibuat masing-masing untuk tahap 1,2,..., n. Maka, 1. Program dinamis maju. Program dinamis bergerak mulai dari tahap 1, terus maju ke tahap 2, 3, dan seterusnya sampai tahap n. Runtunan peubah keputusan adalah x 1, x 2,, x n. Gambar 3.1 Beberapa jalur yang disarankan oleh Google Maps dengan menggunakan fitur Get Driving Directions dari Institut Teknologi Bandung ke Trans Studio Mall (Bandung Supermall) Berdasarkan permasalahan yang telah dibahas sebelumnya, bagaimana cara kita menentukan rute dan jalur yang terbaik untuk mencapai suatu tujuan yang telah kita tentukan. Dapat dilihat pada gambar 3.1, misalnya posisi kita berada pada Institut Teknologi Bandung dan ingin pergi ke Trans Studio Mall (Bandung Supermall), kemudian kita membuka Google Maps dan memasukkan tujuan yang kita ingin tuju tersebut. Setelah itu, pilih tombol Get Driving Directions, kemudian Google Maps akan memberikan jalur terbaik paling atas. Pada gambar 3.1 ditampilkan bahwa jarak yang dituju dari Institut

Teknologi Bandung ke Trans Studio Mall (Bandung Supermall) adalah 6.6 KM melalui Jalan Laksamana R.E. Martadinata dengan estimasi waktu 25 menit. Selain itu, terdapat pilihan view alternative route yang merupakan alternative jalur-jalur untuk menuju Trans Studio Mall (Bandung Supermall). Gambar 4.1 Pemecahan dari gambar 3.2 menjadi graf seperti berikut. Dari gambar 4.1 yang telah dibuat, dapat ditentukan solusi mana yang paling tepat dengan menggunakan pemrograman dinamis. Untuk jarak antar titik graf tersebut dapat dilihat pada tabel 4.1. No Asal Tujuan Jarak 1 Institut Badak Singa 1.1 KM Teknologi Bandung 2 Institut Tamansari 1.2 KM Teknologi Bandung 3 Badak Singa Diponegoro 0.9 KM 4 Tamansari Diponegoro 0.7 KM 5 Diponegoro Supratman 3.2 KM 6 Diponegoro RE Martadinata 3 KM 7 Diponegoro Laswi 4 KM 8 Supratman Trans Studio Mall 2.3 KM 9 RE Trans Studio Mall 1.7 KM Martadinata 10 Laswi Trans Studio Mall 1.3 KM Gambar 3.2 Alternatif jalur yang diberikan oleh Google Maps untuk menuju Trans Studio mall (Bandung Supermall) Dengan memilih view alternative route maka, akan ditampilkan 2 alternative jalan lain, yaitu : 1. Melalui Jalan Wr. Supratman dengan jarak 7.5 KM dengan estimasi waktu 25 menit. 2. Melalu Jalan Laswi dengan jarak 7.2 KM dengan estimasi waktu 25 menit. IV. PENGUJIAN JALUR TERBAIK DENGAN MENGGUNAKAN DYNAMIC PROGRAMMING PADA PEMILIHAN JALUR YANG DISARANKAN OLEH GOOGLE MAPS Dari data-data yang diberikan oleh Google Maps pada gambar 3.2, dapat dibuat atau dipecah menjadi beberapa alternative solusi jalur seperti ini. Dengan Menggunakan Algoritma Program Dinamis, Maka didapatkan hasil paling optimal pada jalur Institut Teknologi Bandung -> Tamansari -> Diponegoro -> RE Martadinata -> Trans Studio Mall V. CONCLUSION Dengan ini, dapat disimpulkan bahwa algoritma yang diugnakan oleh Google Maps pada fitur Get Driving Directions sudah optimal dan sesuai dengan hasil dari algoritma program dinamis yang menghasilkan solusi jalur-jalur yang optimal. VII. ACKNOWLEDGMENT Saya Michael Ingga Gunawan, sebagai penulis dari makalah ini, ingin mengucapkan terima kasih sebesarbesarnya kepada Dr. Ir. Rinaldi Munir, M.T. dan Masayu Leylia Khodra, ST., M.T. yang telah bersedia menjadi dosen IF2211 Strategi Algoritma. Terima kasih juga saya sampaikan kepada keluarga Labtek V beserta temanteman Informatika 2011.

REFERENCES [1] Munir, Rinaldi. Strategi Algoritma. 2008. Bandung : Penerbit ITB. [2] http://www.cs.berkeley.edu/~vazirani/algorithms/chap6.pdf [3] http://informatika.stei.itb.ac.id/~rinaldi.munir/stmik/2013-2014/tugas%20kecil%204%20(2013).docx [4] http://www.ccs.neu.edu/home/lieber/courses/csg110/sp08/project/ project10/dyn-prog.htm PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 20 Desember 2013 Michael Ingga Gunawan 13511053