ALGORITMA MD5 DIBAWAKAN OLEH KELOMPOK 6 TUGAS KEAMANAN INFORMASI
PENGERTIAN FUNGSI HASH FUNGSI HASH Merupakan sebuah algoritma yang mengubah teks atau pesan menjadi sederetan karakter acak yang memiliki jumlah karakter yang sama
KELOMPOK 6
ocu
PENGERTIAN FUNGSI HASH
KELOMPOK 6
ocu
SIFAT-SIFAT FUNGSI HASH o Tahan Preimej (Preimage Resistant) o Tahan Preimej Kedua (Second Preimage Resistant) o Tahan Tumbukan (Collision-Resistant)
KELOMPOK 6
ocu
KEGUNAAN FUNGSI HASH o Menyimpan Password o Sebagai Message Integrity
o Sebagai Message Fingerprint
KELOMPOK 6
ocu
Kegunaan Fungsi Hash Menyimpan Password • Password didalam sebuah sistem dianjurkan untuk disimpan dengan menggunakan fungsi hash. Dengan demikian administrator sistem tersebut sekalipun tidak akan dapat melihat atau menggunakan password user yang telah menjadi membernya. Hal ini akan memberikan impact yang baik kepada user bahwa baik sistem maupun administrator sangat menghargai privasi dari anggotanya. ocu
Message Integrity • Untuk mencegah ada seseorang ditengah perjalanan yang ingin mengganti pesan tersebut dalam bertukar pesan
ocu
Message Fingerprint • Penggunaan Hash sebagai sidik jari pesan (message fingerprint) digunakan untuk mengecek apakah file yang kita simpan masih sesuai dengan file asli ketika hash file tersebut dibuat dan belum berubah. Jika terdeteksi adanya file yang tidak memiliki hash yang sama dengan yang telah dibuat sebelumnya, maka dapat dipastikan bahwa file tersebut telah berubah. ocu
Algoritma-Algoritma Fungsi Hash Kriptografi Beberapa contoh algoritma fungsi hash Kriptografi: • MD4 • MD5 • SHA-0 • SHA-1 • SHA-256 • SHA-512 ocu
ALGORITMA MD5
ALGORITMA MD5 SEJARAH SINGKAT Dikembangkan oleh Ronald Rivest pada tahun 1991 sebagai bagian dari seri algoritma Message Direct yang dikembangkannya untuk menggantikan fungsi hash sebelumnya, yaitu MD4. Algoritma ini diterbitkan di internet melalui RFC 1321.
PRINSIP DASAR MD5 fungsi hash ke 5 yang merupakan perkembangan dari MD4 , dimana terjadi penambahan satu ronde. MD5 pemroses teks masukan kedalam blok- blok bit sebanyak 512 bit, kemudian di bagi kedalam 32 bit sub blok sebanyak 24 16buah. Keluaran dari MD5 berupa 4 buah blok yang masing- masing 32 bit yang mana akan menjadi 128 bit yang biasa di sebut nilai hash.
riski KELOMPOK 6
Awal Perkembangan MD5 MD2 • Pada awal perembangannya Message Direct di kembangkan oleh Ronald Rivest Awalnya munculnya algoritma MD2 pada tahun 1989 untuk komputer berbasis bit, namun dalam perkembangnanya Algoritma MD2 memiliki kelemahan utama yang disebut collusion , dalam kelemahan ini berdasarkan sifat injektifknya, dimana range yang sama belum tentu memiliki domain yang sama. riski
MD4. • Ditulis pada tahun 1990 yang merupakan revisi dari MD2 . MD4 digunakan untuk memeriksa integritas dari sebuah pesan. Kelemahannya yaitu emiliki flowfatal dalam proses eksekusinya sehingga kode 32 bit heksadesimal yang dihasikannya dapat di tembus walaupun waktu yang di perlukan untuk membaca kode relatif lama riski
MD5 • pada tahun 1991 untuk menggantikan fungsi hash sebelumnya, MD4 . Pada tahun 1996, sebuah cacat telah ditemukan dengan desain MD5. MD5 secara garis besar adalah mengambil pesan yang mempunyai panjang variabel diubah menjadi ‘sidik jari’ atau intisari pesan yang mempunyai penjang tetap 128 bit. riski
Cara Kerja MD5 Langkah-langkah pembuatan message digest secara garis besar: 1. Penambahan bit-bit pengganjal (padding bits). 2. Penambahan nilai panjang pesan semula. 3. Inisialisasi penyangga (buffer) MD. 4. Pengolahan pesan dalam blok berukuran 512 bit.
riski
TAHAPAN KERJA MD5 DIAGRAM KERJA ALGORITAM MD5 Diagram berikut merupakan diagram dari keseluruhan proses algoritma MD5. Tanda panah menjelaskan diagram tahapan yang lebih kecil.
kurnia KELOMPOK 6
TAHAPAN KERJA MD5
Langkah 1 – Penambahan Bit-bit Pengganjal: Proses pertama yang dilakukan adalah menambahkan pesan dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti setelah menambahkan bit-bit pengganjal, kini panjang pesan adalah 64 bit kurang dari kelipatan 512. Hal yang perlu diingat adalah angka 512 muncul karena algoritma MD5 memproses pesan dalam blok-blok yang berukuran 512. Apabila terdapat pesan dengan panjang 448 bit, maka pesan tersebut akan tetap ditambahkan dengan bit-bit pengganjal. Pesan akan ditambahkan dengan 512 bit menjadi 96 bit. Jadi panjang bit-bit pengganjal adalah antara 1 sampai 512. Lalu satu hal lagi yang perlu diperhatikan adalah bahwasanya bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
kurnia KELOMPOK 6
TAHAPAN KERJA MD5
Langkah 2 – Penambahan nilai panjang pesan semula: Kemudian proses berikutnya adalah pesan ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Apabila panjang pesan lebih besar dari 264 maka yang diambil adalah panjangnya dalam modulo 264. dengan kata lain, jika pada awalnya panjang pesan sama dengan K bit, maka 64 bit yang ditambahkan menyatakan K modulo 2 64. sehingga setelah proses kedua ini selesai dilakukan maka panjang pesan sekarang adalah 512 bit.
kurnia KELOMPOK 6
TAHAPAN KERJA MD5
Langkah 3 – Inisialisasi penyangga MD Pada algoritma MD5 dibutuhkan empat buah penyangga atau buffer, secara berurut keempat nama penyangga diberi nama A, B, C dan D. Masing-masing penyangga memiliki panjang 32 bit.
Total panjangpenyangga adalah 4 ´ 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhirSehingga panjang total :
kurnia KELOMPOK 6
Sambung… Keempat penyangga ini menampung hasil antara dan hasil akhir. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi Hexadesimal) sebagai berikut :
kurnia
TAHAPAN KERJA MD5
Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit : Proses berikutnya adalah pesan dibagi menjadi L buah blok yang masingmasing panjangnya 512 bit (Y0 sampai YL-1). Setelah itu setiap blok 512 bit diproses bersama dengan penyangga MD yang menghasilkan keluaran 128 bit, dan ini disebut HMD5. Berikut ini gambaran dari proses HMD5
kurnia KELOMPOK 6
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Dari gambar di samping dapat kita lihat bahwa proses HMD5 terdiri dari 4 buah putaran, dan masing-masing putaran melakukan opersi dasar MD5 sebanyak 16 kali. Dimana disetiap operasi dasar memakai sebuah elemen T. Sehingga setiap putaran memakai 16 elemen tabel T. KELOMPOK 6
kurnia
Sambung…
Yq menyatakan blok 512 bit ke-q dari pesan yang telah ditambahkan dengan bitbit pengganjal pada proses pertama dan tambahan 64 bit nilai panjang pesan semula pada proses kedua. MDq adalah nilai message digest 128 bit dari proses HMD5 ke-q. Pada awal proses , MDq berisi nilai inisialisasi penyangga MD. Kemudian fungsi fF, fG, fH, dan fI pada gambar, masing-masing berisi 16 kali operasi dasar terhadap input, setiap operasi dasar menggunakn elemen tabel T. Berikut ini ilustrasi gambar operasi dasar MD5
kurnia
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Operasi dasar MD5 yang diperlihatkan gambar di samping dapat dituliskan dengan persamaan berikut ini :
Dimana,
kurnia
KELOMPOK 6
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b, c, dan d dengan ukuran 32-bit. Masing-masing fungsi dapat dilihat pada tabel dibawah ini :
KELOMPOK 6
kurnia
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Kemudian nilai T[i] dapat dilihat pada tabel dibawah ini. Tabel ini disusun oleh fungsi 232 x abs(sin(i)), i dalam radian.
kurnia KELOMPOK 6
tabel nilai T[i] dari pengolahan proses 4
kurnia
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Sebagaimana telah dijelaskan sebelumnya bahwa fungsi fF, fG, fH, dan fI melakukan 16 kali operasi dasar. Misalkan notasi berikut ini , menyatakan operasi untuk operasi diatas, <<<s melambangkan opersi circular left shift 32 bit, maka operasi dasar pada masing-masing putaran dapat ditabulasikan sebagai berikut :
PUTARAN 1 16 kali operasi dasar dengan g(b, c, d) – F(b, c, d), dapat dilihat pada tabel berikut ini :
PUTARAN 2 16 kali operasi dasar dengan g(b, c, d) – G(b, c, d), dapat dilihat pada tabel berikut ini :
PUTARAN 3 16 kali operasi dasar dengan g(b, c, d) – H(b, c, d), dapat dilihat pada tabel berikut ini :
KELOMPOK 6
PUTARAN 4 16 kali operasi dasar dengan g(b, c, d) – I(b, c, d), dapat dilihat pada tabel berikut ini :
kurnia
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Setelah putaran keempat, a, b, c dan d di tambahkan ke A, B, C dan D yang selanjutnya algoritma akan memproses untuk blok data berikutnya (Yq+1). Output akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C dan D. Dari uraian diatas, secara umum fungsi hash MD5 dapat ditulis dalam persamaan matematis sebagai berikut:
Dimana, IV = initial vector dari penyangga ABCD, yang dilakukan pada proses inisialisasi penyangga Yq = blok pesan berukuran 512-bit ke-q L = jumlah blok pesan MD = nilai akhir message digest
kurnia KELOMPOK 6
TAHAPAN KERJA MD5 Langkah 4 – Pengolahan pesan dalam blok berukuran 512 bit (lanjutan): Setelah putaran keempat, a, b, c dan d di tambahkan ke A, B, C dan D yang selanjutnya algoritma akan memproses untuk blok data berikutnya (Yq+1). Output akhir dari algoritma MD5 adalah hasil penyambungan bit-bit di A, B, C dan D. Dari uraian diatas, secara umum fungsi hash MD5 dapat ditulis dalam persamaan matematis sebagai berikut:
Dimana, IV = initial vector dari penyangga ABCD, yang dilakukan pada proses inisialisasi penyangga Yq = blok pesan berukuran 512-bit ke-q L = jumlah blok pesan MD = nilai akhir message digest
kurnia KELOMPOK 6
Pseudocode untuk MD5 adalah sebagai berikut :
kurnia
kurnia
kurnia
Source code Java:
Source code java
kurnia
kurnia
Fungsi mainnya:
Outputnya :
kurnia
Penerapan MD5 : •Untuk menjamin data integrity sebenarnya sudah berjalan tanpa di sadari sadari. Yang paling mudah jumpai adalah MD5 checksum yang tertera ketika akan men-download sebuah file. Ambil satu contoh www.filehippo.com pilih salah satu software yang ingin didownload lalu klik tab Technical-nya scroll agak kebawah sampai ada informasi MD5 checksum.
Nina pratiwi
Contoh penerapannya
Kolom MD5 checksum pada “Down Them All” (Firefox download extension) Informasi MD5 checksum ini dapat kita tambahkan ke download manager ketika akan melakukan pengunduhan sehingga pembandingan hash value akhir akan di lakukan oleh download manager secara otomatis ketika proses pengunduhan selesai. Begitulah caranya download manager menentukan file yang rusak dengan yang utuh.
Nina pratiwi
Sidik Dijital dengan Menggunakan Fungsi Hash Satu-Arah Proses Pemberian Sidik Dijital (Signing) •Pesan yang hendak dikirim diubah terlebih dahulu menjadi bentuk yang ringkas yang disebut message digest. Message digest (MD) diperoleh dengan mentransformasikan pesan M dengan menggunakan fungsi hash satu-arah (one-way) H, sehinga “ MD = H(M)” Pesan yang sudah diubah menjadi message digest oleh fungsi hash tidak dapat dikembalikan lagi menjadi bentuk semula walaupun digunakan algoritma dan kunci yang sama (itulah sebabnya dinamakan fungsi hash satu-arah). Sembarang pesan yang berukuran apapun diubah oleh fungsi hash menjadi message digest yang berukuran tetap (umumnya 128 bit).
Nina pratiwi
• Selanjutnya, message digest MD dienkripsikan dengan algoritma kunci-publik menggunakan kunci rahasia (SK) pengirim menjadi sidik dijital S, Sehingga rumusnya : S = ESK(MD) • Pesan M disambung (append) dengan sidik dijital S, lalu keduanya dikirim melalui saluran komunikasi . Dalam hal ini, kita katakan bahwa pesan M sudah ditandatangani oleh pengirim dengan sidik dijital S. • Di tempat penerima, pesan diverifikasi untuk dibuktikan keotentikannya dengan cara berikut: 1.Sidik dijital S didekripsi dengan menggunakan kunci publik (PK) pengirim pesan, menghasilkan message digest semula, MD, sebagai berikut: MD = DPK(S) 2. Pengirim kemudian mengubah pesan M menjadi message digest MD’ menggunakan fungsi hash satu-arah yang sama dengan fungsi hash yang digunakan oleh pengirim. 3. Jika MD’ = MD, berarti pesan yang diterima otentik dan berasal dari pengirim yang benar.
Nina pratiwi
Skema otentikasi dengan sidik dijital ditunjukkan pada Gambar 1. Signer Message
Verifier Message
Message
Signature
Signature
Message
Fungsi Hash Signature Message Digest
Secret Key
Fungsi Hash Public Key
Verify
keterangan •
Keotentikan ini dijelaskan sebagai berikut: • Apabila pesan M yang diterima sudah berubah, maka MD’ yang dihasilkan dari fungsi hash berbeda dengan MD semula. Ini berarti pesan tidak asli lagi.
Signing
Signature
Message Digest
? =
Message Digest
Nina pratiwi
Sambungan…. Signer Message
Verifier Message
Message
Signature
Signature
Message
Fungsi Hash Signature Message Digest
Secret Key
Fungsi Hash Public Key
Verify
Signing
Signature
Message Digest
? =
• Apabila pesan M tidak berasal dari orang yang sebenarnya, maka message digest MD yang dihasilkan dari persamaan 3 berbeda dengan message digest MD’ yang dihasilkan pada proses verifikasi (hal ini karena kunci publik yang digunakan oleh penerima pesan tidak berkoresponden dengan kunci rahasia pengirim). • Bila MD = MD’, ini berarti pesan yang diterima adalah pesan yang asli (message authentication) dan orang yang mengirim adalah orang yang sebenarnya (user authentication
Message Digest
Nina pratiwi
Aplikasi digital Signature pada KTP • Algoritma MD5 dapat digunakan sebagai aplikasi digital signature pasda kartu Tanda penduduk (KTP) sebagai otentifikasi . Pada KTP nantinya akan ditambahkan digtal signaturenya, dimana data yang akan diambil adalah Nomor induk kependudukan . Karena setiap penduduknya nanti akan memberikan sebuh kunci kepda penduduk yakni kunci private. Dimana kunci private ini juga akan di berikan kepada instant terkait. • kunci private merupakan idnetitas yang benar dari penduduk tersebut maka digital signature tadi akan di deskripsi menghasilkan output yang sama dengan massage digest yang tersimpan pada data base pemerintahan maja bisa dipastikan bahwa penduduk tersebut adalah orang yang benar. Nina pratiwi
Perbandingan SHA-1 dan MD5 •
SHA-1 dan MD5 dikembangkan atau diturunkan dari MD4 maka keduanya mempunyai kemiripina satu sama lain, baik kekuatan dan karakteristiknya. • Keamanan terhadap serangan brute-force. Hal yang paling penting adalah bahwa SHA-1 menghasilkan diggest 32-bit lebih panjang dari MD5. Dengan brute-force maka SHA-1 lebih kuat dibanding MD5. • Keamanan terhadap kriptanalisis Kelemahan MD5 ada pada design sehingga lebih mudah dilakukan kriptanalisis dibandingkan SHA-1 • Kecepatan Kedua algoritma bekerja pada modulo 232 sehingga keduanya bekerja baik pada arsitektur 32 bit. SHA-1 mempunyai langkah lebih banyak dibandingkan MD5 ( 80 dibanding MD5 64 ) dan harus memproses 160 bit buffer dibanding DM5 128 bit buffer, sehingga SHA-1 bekerja lebih lambat dibanding MD5 pada perangkat keras yang sama.
Nina pratiwi
Sambung… • Simplicity Kedua algoritma simple untuk dijelaskan dan mudah untuk diiemplementasikan karena tidak membutuhkan program yang besar atau tabel subtitusi yang besar pula.
Contoh : Perhatikan perbedaan nilai hash untuk perintah MD5 dan SHA1 terhadap data "murdan" sbb: f8f33438c13ef064439e42b124f9e537 039949592e82eab2c43703c3e133149cb079cc1a
Nina pratiwi
KELEBIHAN & KEKURANGAN ALGORITMA MD5 KELEBIHAN
KEKURANGAN o Serangan Collision o rentan Preimage Attack o Kriptanalisis lebih lanjut tehadap MD5 o Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware)
o Dapat digunakan untuk verifikasi integritas file o MD5 berfungsi sebagai pendeteksi perubahan file o Penyimpanan password pada MD5 lebih efisien o Sangat peka dalam perubahan data sekecil apapun
KELOMPOK 6
dian
• untuk verifikasi integritas file • dimadsudkan dengan integritas file adalah keaslian file, apakah file sudah diubah atau belum. Biasanya pada saat mendownload sebuah file dari internet md5 berperan sebagai algoritma yang dipakai untuk membuktikan apakah file yang di download tersebut masih asli atau tidak. • Md5 kelebihan sebagai pendeteksi perubahan file, misalnya pada tripwire di linux. Ini merupakan dari instuction detection system dimana bila ada file berubah nilai hashnya maka IDS akan menyalakan alarm bahwa telah terjadi perubahan file. • Algoritma md5 sangat peka dalam perubahan data sekecil apapun dian
Kekurangan Serangan Collision Md 5 cenderung rentan terhadap serangan collision yaitu peristiwa dimana 2 nilai yang berbeda dapat memiliki nilai hash yang sama.collusion ini dimanfaatkan untul memasukkan sertifikat SSL jejaring palsu. rentan Preimage Attack Preimage attack merupakan serangan terhadap fungsi hash yang menyerupai collision attack, namun dengan tujuan mencari masukan m2 apabila masukan m1 sudah diketahui, sehingga f(m1) = f(m2). Tidak seperti collision attack di mana tujuannya adalah mencari kedua masukan m1 dan m2. Serangan preimage pada umumnya lebih kompleks dibandingkan serangan collision dan tidak jarang alternatif satu-satunya untuk melakukan serangan ini adalah dengan menggunakan brute force. o Kriptanalisis lebih lanjut tehadap MD5 o Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware) dian
Kriptanalisis lebih lanjut tehadap MD5 • Dalam sekitar 5 tahun setelah peluncurannya, peringatan kemudian dikeluarkan untuk tidak mengandalkan MD5 untuk kegunaan-kegunaan yang memerlukan ketahanan terhadap collision. • Masukan yang sama sekali berbeda isinya pun dapat dengan relatif mudah disesuaikan sehingga nilai hash-nya sama dengan suatu pesan lain, asalkan terdapat potongan dari kedua pesan itu yang collision-nya sudah ditemukan. dian
• proses hash md5 terlebih dahulu untuk mengubah data plaintext menjadi chiper, kemudian Setelah diterima agar data bisa dibaca dan dipahami oleh penerima data, data harus melalui proses hash md5 pengubahan chiper menjadi plaintext Setelah data melalui proses pengubahan chiper menjadi plaintext. Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware) • Md5 divonis tidak cocok untuk dipakai sebagai fungsi enkripsi yang membutuhkan ketahanan dari serangan collusion • Keamanan fungsi hash MD5 terancam. Sebuah serangan tabrakan ada yang dapat menemukan tabrakan dalam hitungan detik pada komputer dengan prosesor Pentium4 2.6GHz.
dian
MASA DEPAN MD5
BAGAIMANA PERKEMBANGAN ALGORITMA MD5 DI MASA MENDATANG?
KELOMPOK 6
dian
Eksistensi Algoritma MD5 Dimasa Akan Datang MD5 dipublikasikan pada tahun 1992 sebagai Informational RFC. Sejak saat itu, MD5 sudah dipelajari secara ekstensif dan serangan-serangan baru terhadap kriptografi pun sudah banyak ditemukan. Algoritma message digest didesain untuk tahan terhadap collision, pre-imagedan second preimage. Selain itu, algoritma ini juga digunakan untuk sharing informasi/data rahasia untuk message authentication pada HMAC. Sekarang MD5 tidak lagi dapat digunakan dimana ketahanan terhadap collisions sangat diperlukan, seperti digital signature. Namun, untuk hal lain yang tidak memerlukan kerahasiaan, MD5 masih cukup baik untuk digunakan, untuk checksum misalnya. Karena MD5 tidak boleh digunakan untuk digital signature, desain protokol baru untuk digital signature seharusnya tidak mengadopsi MD5. Dengan banyak kekurangan yang fatal digital signature pada algoritma md 5, Sehingga algoritma MD5 tidak lagi popular dalam keamanan data dan telah di saingi oleh algoritma pada fungsi hash setelahnya yaitu algoritma SH-1 ( Secured Hash Algoritmn1) dian
KESIMPULAN o MD5 merupakan fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit. o Algoritma MD5 dengan fungsi hashnya sangat peka terhadap perubahan pesan, maka algoritma MD5 cocok untuk aplikasi yang menjaga integritas suatu data. o Algoritma MD5 dalam dipakai dalam aplikasi untuk • Aplikasi Integritas Data • Aplikasi digital Signature pada KTP o Algoritma MD5 mempunyai • Kelebihan: untuk verifikasi integritas file, Md5 berfungsi sebagai pendeteksi perubahan file, Md5 berfungsi sebagai penyimpan password di database, dan sangat peka dalam perubahan data sekecil apapun. • kekurangan : Serangan Collision, Kriptanalisis lebih lanjut tehadap MD5 dan Proses perubahan data asli menjadi MD5 perlu waktu relatif lama (resource hardware) o Eksistensi Algoritma MD5 dikalahkan oleh Algoritma hash yang baru yaitu SH-1 kerana MD5 rentan terhadap serangan- serangan. PUT THE NAME OF YOUR COMPANY HERE
dian
THANKS FOR YOUR TIME ANGGOTA KELOMPOK: DIAN KUMALA SARI KURNIA DWI HAQMA NINA PRATIWI RISKI ANANDA WAHYU APRIYADI SHOLIHAN