• Tidak ada hasil yang ditemukan

Implementasi Algoritme BLAKE2b untuk Pengecekan Integritas File

N/A
N/A
Protected

Academic year: 2022

Membagikan "Implementasi Algoritme BLAKE2b untuk Pengecekan Integritas File"

Copied!
7
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya

3702

Implementasi Algoritme BLAKE2b untuk Pengecekan Integritas File

Pramasita Gustiarum1, Ari Kusyanti2, Mahendara Data3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1gpramasita@student.ub.ac.id, 2ari.kusyanti@ub.ac.id, 3mahendra.data@ub.ac.id

Abstrak

File adalah sebuah objek pada komputer yang menyimpan data, informasi dan lain sebagainya yang dapat dibaca oleh sebuah program pada komputer. Pada komputer, file disimpan pada sebuah storage, seperti hard drive, DVD, flash disk dan sebagainya. Selain disimpan, file juga dapat dipindahkan, dibagikan, diubah dan diduplikasi. Dari proses pindah, bagi, ubah dan duplikasi ini, keamanan file menjadi sangat penting karena dari proses tersebut dapat berpengaruh pada data atau informasi yang disimpan didalamnya. Pengaruh dari proses tersebut, antara lain kerusakan pada data, data yang berubah atau adanya data yang disisipkan untuk tujuan kejahatan. Oleh karena itu, perlu adanya mekanisme untuk mengecek integritas data tersebut dengan menggunakan teknik kriptografi, yaitu hashing. Hashing adalah sebuah teknik untuk menghasilkan nilai unik dari sebuah file bernama nilai hash atau digest. Algoritme yang digunakan pada penelitian ini adalah BLAKE2b untuk pengecekan integritas pada file. Pada penelitian ini, dilakukan beberapa pengujian yaitu mengukur waktu proses pengecekan BLAKE2b pada file .txt dan rata-rata yang diberikan adalah 18,60 detik untuk file 500 KB. Kemudian hasil rata-rata waktu proses BLAKE2b dibandingkan dengan MD5 dan hasil yang didapatkan rata-rata 15,85 dan 18,30 detik untuk masing-masing algoritme, sehingga dapat disimpulkan BLAKE2b bekerja sedikit lebih cepat dari MD5. Terakhir, avalanche test yang memberikan probabilitas rata-rata sebesar 0,589.

Kata kunci: integritas data, kriptografi, fungsi hash, BLAKE2b.

Abstract

File is an object on a computer that stores data and information that can be read by a program on a computer. On computers, files are stored in storage, such as hard drives, DVDs, flash disks and so on.

Other than being stored, files can also be moved, shared, changed and duplicated. From these processes, protecting file integrity is very important because these processes can affect data or information stored in it. Possibility of threats in that processes might be corrupted data, data unwantedly modify or file carries hidden data for criminal purposes. Therefore, there is need for a mechanism to check integrity of the data using cryptographic techniques, called hashing. Hashing is a technique to generate unique values from a string and this unique what we called hash value or digest.

In this study, BLAKE2b hash function is used as data integrity validation of a file. The experiment in this study includes, timing BLAKE2b to validate .txt file format, which given result of average 18.60s for 500 KB file in size. Next results of BLAKE2b process time are compared with MD5 and the results obtained in this experiment are average of 15.85s and 18.30s for each algorithm, it can be concluded that BLAKE2b is working slightly faster than MD5. Lastly, avalanche test of BLAKE2b gives an average probability of 0.589.

Keywords: data integrity, cryptography, hash function, BLAKE2b.

1. PENDAHULUAN

Integritas data merupakan salah satu komponen dasar dari prinsip keamanan pada teknologi informasi, yang memiliki tujuan untuk memastikan data yang diterima pada saat

pengiriman sama dengan data yang dikirimkan dari asal pengiriman data tersebut, sehingga akurasi dan konsistensi dari data sangat penting (Eswaran S. dan Abburu, S., 2012).

Agar integritas data terjamin, maka tiap sistem dirancang dengan sebuah mekanisme keamanan. Meskipun adanya mekanisme

(2)

keamanan tersebut tidak menuntut kemungkinan jika sebuah sistem tidak memiliki celah keamanan. Dari celah keamanan ini, kesempatan untuk merusak integritas dari data, misal sistem dibobol oleh seorang yang jahat dan kemudian berdampak pada data, seperti data dirusak, diubah-ubah dan lain sebagainya (Mittal, M., et al, 2015). Selain itu, data dalam file juga rentan terhadap informasi tersembunyi yang sengaja disisipkan oleh attacker untuk merusak baik berdampak pada sistem maupun ke dalam sisi klien pada saat data diunduh (Harran, M., et al, 2017).

Dikarenakan adanya permasalahan di atas, maka berbagai penelitian dilakukan untuk memperbaiki keamanan yang ada. Pada jurnal Improving Cloud Security by Enhacing Remote Data Integrity Checking Algorithm yang ditulis oleh Suganya, S. dan P.M Durai, R. V. (2017).

Peneliti melakukan sebuah penelitian untuk memperbaiki pengecekan terhadap integritas data dengan memberikan setiap blok data tanda tangan digital yang dihasilkan oleh MD5 berdasarkan File Allocation Table (FAT) agar jika terjadi kerusakan pada file, auditor atau verifier dapat melakukan audit terhadap filenya dan melakukan recovery.

Penelitian terdahulu yang disebutkan memberikan ide untuk menyelesaikan masalah integritas data dengan algoritme hashing. Akan tetapi, algoritme hashing yang digunakan harus algoritme yang memiliki tingkat keamanan lebih baik dari MD5. Maka dari itu, dipilih algoritme BLAKE2 yang menurut jurnal BLAKE2: Simpler, Smaller, Fast as MD5 yang ditulis oleh Aumasson J., et al (2013), algoritme BLAKE2 memiliki waktu proses algoritme lebih cepat dibandingkan algoritme MD5 pada platform 64 bit dan memakan lebih sedikit proses pada RAM. Sehingga, diharapkan algoritme ini menjadi alternatif untuk mengatasi permasalahan integritas data.

2. ALGORITME BLAKE2B

Algoritme BLAKE2 merupakan algoritme kriptografi hash function optimasi dari algoritme BLAKE yang menjadi finalis untuk standar algoritme SHA-3 khususnya pada platform perangkat lunak.

Menurut jurnal BLAKE2: Simpler, Smaller, Fast as MD5 ditulis oleh Aumasson J., et al (2013), algoritme BLAKE2 terdiri atas dua jenis, yaitu BLAKE2b dan BLAKE2s

. Perbedaan dari kedua jenis algoritme

tersebut adalah penggunaan platformnya, untuk BLAKE2b dapat digunakan pada 64 bit platform, sementara BLAKE2s dapat digunakan pada 32 bit platform. Untuk penelitian ini, algoritme yang digunakan adalah BLAKE2b, berikut adalah parameter, variabel dan fungsi-fungsi yang digunakan pada BLAKE2b yang dikutip dari jurnal yang ditulis oleh

Aumasson J., et al (2013) dan dokumen RFC 7693.

BLAKE2b memiliki beberapa konstanta dan variabel yang digunakan pada sebuah fungsi bernama fungsi F. Fungsi F ini digunakan untuk melakukan kompresi dan perulangan mutasi fungsi G. Konstanta yang digunakan pada fungsi F adalah SIGMA dan Intialization Vector (IV), sementara variabel yang digunakan adalah 𝑣 merupakan nilai dari internal state, ℎ merupakan nilai chain value, 𝑡 merupakan penghitung indeks blok dan 𝑓 merupakan nilai boolean yang menyatakan blok terakhir pada proses. Berikut adalah Persamaan (1) inisialisasi dari variabel 𝑣 untuk fungsi F.

(

𝑣0𝑣1𝑣2𝑣3 𝑣4𝑣5𝑣6𝑣7 𝑣8𝑣9𝑣10𝑣11 𝑣12𝑣13𝑣14𝑣15

) ⟵ (

0 1 2 3 4 5 6 7 𝐼𝑉0 𝐼𝑉1 𝐼𝑉2 𝐼𝑉3 𝑡0⊕ 𝐼𝑉4𝑡1⊕ 𝐼𝑉5𝑓0⊕ 𝐼𝑉6𝑓1𝐼 ⊕ 𝑉7

) (1)

Inisialisasi variabel 𝑣 dilakukan dengan cara mengisi nilai variabel dengan nilai variabel lainnya. Untuk variabel 𝑣 indeks ke 0 hingga 7 diisi dengan variabel ℎ, kemudian indeks ke 8 hingga 11 diisi dengan IV dari indeks ke 0 hingga 3, terakhir indeks ke 12 hingga 15 diisi dengan variabel 𝑡, 𝑓 dan IV dari indeks ke 4 hingga 7.

Selain itu, BLAKE2b dapat menghasilkan panjang output atau digest size, yaitu 160 bit, 256 bit, 384 bit dan 512 bit. Selain digest size, BLAKE2b juga memiliki parameter lainnya untuk menghasilkan nilai hash, yaitu key dan konstanta G. Panjang key yang dapat digunakan oleh BLAKE2b adalah 64 bit. Untuk nilai konstanta G pada BLAKE2b yang digunakan adalah 32, 24, 16 dan 63. Konstanta ini nantinya akan digunakan pada sebuah fungsi permutasi pada BLAKE2b bernama fungsi G.

Fungsi G terdiri atas 5

variabel, yaitu 𝑎, 𝑏, 𝑐, 𝑑 yang menunujukkan indeks dari kata dan variabel 𝑚 sebagai representasi dari high dan low word. Fungsi ini menggunakan 3 tahap operasi matematika yaitu, penjumlahan kata (+), operasi XOR (⊕) dan penggeseran bit-bit (⋙) kata yang sudah diatur konstantanya.

Berikut adalah Persamaan (2) untuk fungsi G.

(3)

𝑎 ← 𝑎 + 𝑏 + 𝑚𝜎𝑟(2𝑖) 𝑑 ← (𝑑 ⊕ 𝑎) ⋙ 32 𝑐 ← 𝑐 + 𝑑

𝑏 ← (𝑏 ⊕ 𝑐) ⋙ 24 𝑎 ← 𝑎 + 𝑏 + 𝑚𝜎𝑟(2𝑖+1) 𝑑 ← (𝑑 ⊕ 𝑎) ⋙ 16 𝑐 ← 𝑐 + 𝑑

𝑏 ← (𝑏 ⊕ 𝑐) ⋙ 63

(2)

Tahapan berikutnya memasukkan nilai- nilai inisialisasi di Persamaan (1) serta memanggil fungsi G pada fungsi F.

Pemanggilan fungsi G ini digunakan untuk melakukan permutasi. Permutasi dari setiap kata dilakukan dengan memasukan nilai SIGMA sebagai konstanta untuk variabel 𝑚.

Berikut ini adalah Persamaan (3) merupakan hasil akhir dari fungsi F.

ℎ′0←ℎ0⊕𝑣0⊕ 𝑣8 ℎ′1←ℎ1⊕𝑣1⊕ 𝑣9 ℎ′2←ℎ2⊕𝑣2⊕𝑣10 ℎ′3←ℎ3⊕𝑣3⊕𝑣11 ℎ′4←ℎ4⊕𝑣4⊕𝑣12 ℎ′5←ℎ5⊕𝑣5⊕𝑣13 ℎ′6←ℎ6⊕𝑣6⊕𝑣14 ℎ′7←ℎ7⊕𝑣7⊕𝑣15

(3)

Pada akhir proses fungsi F, dihasilkan nilai baru dari chain value (ℎ). Nilai baru ini merupakan hasil dari operasi perhitungan XOR nilai variabel 𝑣 yang diambil dari hasil perulangan permutasi dari fungsi G.

3. PERANCANGAN DAN IMPLEMENTASI

Untuk proses perancangan dan implementasi, file yang akan diproses nantinya akan ditaruh pada sebuah cloud storage sebagai tempat penyimpanan file tersebut. Sementara, untuk pengecekan sendiri, mulai dari proses perancangan hingga implementasi akan dilakukan pada sisi user atau lokal Pada penelitian ini, cloud storage yang digunakan adalah Google Drive, sehingga untuk melakukan proses unggah dan unduh dari sebuah file akan dilakukan dengan memanggil API dari Google Drive itu sendiri.

Pada implementasi yang dirancang ini, nantinya akan memiliki tiga pilihan menu yang ditampilkan dalam bentuk console. Ketiga menu dari antarmuka yang dibuat adalah upload file, pengecekan file dan exit. Pada saat implementasi program dijalankan menu-menu dapat dipilih dengan mengetikkan angka pada console.

4.1 Perancangan Sistem

Gambar 1. Pengecekan File

Pada perancangan sistem ini, flowchart yang diperlihatkan hanya pada saat pengecekan file saja, hal ini dikarenakan pada saat penelitian proses pengecekan adalah proses utama yang digunakan.

(4)

Di dalam proses pengecekan ini, terdapat beberapa proses kecil lainnya, seperti proses pencarian file, proses untuk mengunduh file, proses menghitung nilai hash pada file yang diunduh, proses mengupdate file, proses mengunggah file dan proses untuk menghapus file jika file memiliki perbedaan dari file yang disimpan pada cloud storage.

Alur untuk pengecekan file dimulai dari Gambar 1. Hal pertama yang dilakukan adalah memasukkan nama file lokal dan menghitung nilai hashnya, dilanjutkan dengan memasukkan kata kunci nama file yang terdapat pada Google Drive, setelah itu sebuah kelas dipanggil untuk mencari file dengan kata kunci tersebut. Jika, beberapa nama file ditemukan maka nama file tersebut akan dibandigkan dengan nama file lokal yang dimasukkan oleh user. Kemudian, jika nama file tidak sesuai maka file lokal akan diunggah ke Google Drive, sementara jika ditemukan maka file tersebut akan diunduh dan dihitung nilai hashnya serta dicocokkan dengan nilai hash pada file lokal Jika hash tidak sama maka file pada Google Drive akan dihapus.

Sementara jika hash sama, data-data pada file akan diupdate.

4.2 Implementasi

Gambar 2. Implementasi Pengecekan File Gambar 2 merupakan implementasi dari pengecekan file. Pertama, nama file lokal diinputkan terlebih dahulu, kemudian memasukkan nama file pada Google Drive, jika file ditemukan seperti Gambar 2, maka dapat memilih nomor urut file tersebut, kemudian file dicek hashnya dan diupdate kembali informasi tersebut pada file di Google Drive.

4. PENGUJIAN

5.1 Pengujian Test Vector

Pengujian test vector dilakukan dengan dua tahapan yang dibagi berdasarkan nilai key yang dimasukkan pada pengujian. Key pertama

yang digunakan adalah nilai null dan yang kedua adalah nilai key sepanjang 64 bit. Nilai yang dimasukkan pada pengujian ini adalah dalam bentuk heksadesimal Berikut Tabel 1 merupakan hasil pengujian test vector.

Tabel 1. Hasil Pengujian Test Vector

Input Key Output Test

Vector Status

Null Null 0x786a02

f7420159 03

0x786a0 2f74201 5903

Valid

00 Null 0x2fa3f68

6df87699 5

0x2fa3f6 86df876 995

Valid

Null 0x01020 3040506 0708

0x10ebb6 7700b186 8e

0x10ebb 67700b1 868e

Valid

00 0x01020 3040506 0708

0x961f6d d1e4dd30 f6

0x961f6 dd1e4dd 30f6

Valid

Sehingga, berdasarkan pengujian ini dihasilkan sebuah grafik garis sebagai berikut.

Gambar 3. Grafik Perbandingan Waktu Proses BLAKE2b

Pada Gambar 3, dapat dilihat bahwa proses perhitungan nilai hash dengan dan tanpa key cukup berpengaruh. Jarak antar waktu keduanya pada input pertama, memiliki perbedaan hampir 200 ms. Sehingga untuk nilai input yang semakin panjang dapat dilihat dari Gambar 3 juga mempengaruhi kecepatan proses, sehingga proses menjadi semakin lama, jika nilai input juga semakin panjang.

5.2 Pengujian Pengecekan Pengubahan Isi File

Pada pengujian pengecekan terhadap pengubahan isi file, dilakukan dengan tiga skenario. Pertama, pengecekan file dilakukan pada file yang tidak diubah isinya atau file normal Kedua, dilakukan pada file yang diubah isinya dengan menambahkan kata 'Hello' seperti pada Gambar 5. Terakhir, dilakukan dengan

0,00 500,00 1000,00 1500,00 2000,00 2500,00 3000,00 3500,00 4000,00

0 1 2 3 4 5 6

Milidetik

Input

Perbandingan Waktu Proses BLAKE2b

Tanpa Key Dengan Key

(5)

menghilangkan satu huruf pada baris pertama seperti pada Gambar 6. Untuk mengubah-ubah isi file pada cloud storage dibantu sebuah plugin bernama 'Anyfile Notepad'.

Gambar 4. Isi File Awal dari Pengujian Gambar 4 merupakan isi dari file awal sebelum dilakukannya serangan seperti pada Gambar 5 dan 6.

Gambar 5. Penambahan Kata 'Hello'

Gambar 6. Menghapus Satu Huruf

Dari hasil pengujian ini dapat dilihat pada Gambar 7 bahwa pengecekan file pada file yang tidak berubah atau normal menghasilkan keluaran 'Nilai hash sama!...'.

Gambar 7. Ketika Isi File Tidak Berubah Kemudian, pada Gambar 8 dan 9 bisa dilihat bahwa ketika file ditambahkan atau dihapus isinya, maka akan menghasilkan keluaran 'Hash berbeda!...'.

Hal yang bisa dilihat dari hasil percobaan, yaitu Gambar 7, 8 dan 9 adalah ketika adanya sedikit perubahan program dapat mendeteksi jika file memiliki perbedaan dan program menghasilkan nilai hash yang baru pada saat proses unduh file sebelum dilakukannya perbandingan nilai hash, seperti yang dijelaskan pada Gambar 1 flowchart program.

Gambar 8. Ketika Isi File Ditambahkan

Gambar 9. Ketika Isi File Dihapus

5.3 Pengujian Beda Format File

Pada pengujian beda format file ini, ada beberapa faktor yang mempengaruhi, kinerja pada proses pengecekan file, yaitu format file itu sendiri dan kecepatan internet yang digunakan karena pada pengujian ini, internet dibutuhkan untuk mengunduh dan mengupdate data-data pada file. Berikut adalah Gambar 4 yang menampilkan perbandingan dari hasil uji tiga format file.

Gambar 10. Grafik Perbandingan Waktu Format File Gambar 10 merupakan grafik batang perbandingan tiga format file, yaitu .txt, .docx dan .pdf. Dari hasil yang didapatkan bahwa dokumen .docx memiliki rata-rata waktu proses lebih cepat dari kedua format file lainnya.

Hal ini terjadi karena adanya perbedaan dalam cara konversi format file. Pada saat

0,00 10,00 20,00 30,00 40,00 50,00 60,00 70,00 80,00

Rata-rata Waktu (s)

Ukuran FIle

Perbandingan Format File

.txt .docx .pdf

(6)

menggunakan format file .txt default dari sistem operasi, sepeerti pada pengujian ini maka hasil seperti pada Gambar 11 berikut.

Gambar 11. File .txt Default Sistem Operasi Sementara, jika diubah dari format file .docx ke .txt, maka file .txt akan dikomputasi lebih cepat, seperti pada Gambar 12 dan 13 berikut.

Gambar 12. Waktu Komputasi File .txt Konversi dari .docx

Gambar 13. Waktu Komputasi Format File .docx Bisa dilihat bahwa waktu komputasi nilai hash .txt lebih cepat dibandingkan dengan .docx ketika dikonversi langsung dari format file .docx.

5.4 Pengujian Perbandingan dengan MD5 Pengujian perbandingan dengan MD5 dilakukan dengan membandingkan kecepatan waktu eksekusi BLAKE2b dengan MD5 dalam melakukan pengecekan integritas. Data yang diambil adalah sebanyak 20 kali percobaan dengan ukuran dan isi file yang sama, yaitu 500 KB.

Pada Gambar 14, dapat dilihat bahwa perbandingan algoritme BLAKE2b dalam waktu prosesnya tidak jauh berbeda dengan MD5. Pada input kedua dapat dilihat bahwa keduanya memiliki kecepatan proses yang sama.

Kemungkinan yang terjadi pada pengujian ini adalah properti dari MD5 yang hanya memiliki 4 round dan digest size 128 bit, sementara BLAKE2b memiliki 12 round dan 160 bit. Sehingga dapat disimpulkan dari karakteristik tersebut bahwa MD5 lebih cepat.

Namun, tidak menutup kemungkinan BLAKE2b bisa lebih cepat dari yang sekarang, jika pengujian dilakukan dengan jumlah round dan digest size yang sama.

Gambar 14. Grafik Perbandingan dengan MD5

5.5 Pengujian Avalanche Test

Avalanche effect adalah suatu pengujian untuk membuktikan perubahan pada output memiliki ketergantungan pada inputnya. Misal, sebuah input plaintext dienkripsi dan menghasilkan output ciphertext, maka nilai ciphertext tersebut harus setidaknya berubah setengahnya dari sebuah input plaintext tadi (Webster, A., F. dan Tavares, S.E., 1986).

Pengujian avalanche test ini dilakukan sebanyak 20 kali dengan memasukkan nilai input yang berbeda dan perubahan satu input bit secara acak. Untuk persentase avalanche test dihitung dengan cara membagi jumlah bit yang berubah dengan jumlah bit maksimalnya.

Berikut Tabel 2 yang menjelaskan hasil dari avalanche test.

Tabel 2. Hasil Pengujian Avalanche Test Uji ke- Input (dalam bit) Probabilitas

1

1101000000000010101110 1001011110100011111010 00111111101001001101

0,594

2

1001110010001101110010 0000100110011100000001 11011000110110101110

0,656

3

1111010111100011001110 1110001000001000001010 01011101011110101110

0,516 Rata-rata nilai avalanche 0,589

Untuk pengujian avalanche test ini, probabilitas yang harus dicapai minimal 0,5 menurut jurnal yang ditulis oleh Motara, Y. dan Irwin, B. (2016), kurang dari nilai tersebut maka algoritme dianggap rentan terhadap serangan. Dapat dilihat dari Tabel 2 bahwa algoritme BLAKE2b memiliki hasil avalanche test yang baik yaitu 0,589 maka dapat dipastikan bahwa algoritme BLAKE2b tahan terhadap serangan.

5. KESIMPULAN

Dalam penelitian ini hal yang dapat

0 5 10 15 20 25 30

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Waktu Eksekusi (s)

Input

Perbandingan BLAKE2b dengan MD5

BLAKE2b MD5

(7)

disimpulkan sebagai berikut

1. Pada penelitian ini, dapat dilihat dari pengujian test vector bahwa algoritme BLAKE2b yang diimplementasikan pada sistem sudah benar, hal ini dikarenakan hasil pengujian memiliki hasil yang sama dengan nilai test vector pada jurnal ditulis oleh Aumasson J., et al (2013)

2. Pada pengujian skenario BLAKE2b berhasil melakukan deteksi pada perubahan data yang dibuat terhadap file

3. Diketahui bahwa semakin besar ukuran file maka semakin lama waktu untuk menghasilkan nilai hash dan melakukan pengecekan hash. Selain itu, format file juga berpengaruh terhadap waktu proses

4. BLAKE2b memiliki waktu proses yang sedikit lebih cepat dari MD5. Hal ini dikarenakan faktor-faktor tertentu seperti digest size dan jumlah round 5. Terakhir, tingkat keamanan dari

algoritme BLAKE2b berdasarkan pengujian avalanche test adalah sebesar 0,589.

6. DAFTAR PUSTAKA

Aumasson J., et al. 2013. BLAKE2: Simpler, Smaller, Fast as MD5. Lecture Notes in Computer Science, 7954, 119-135.

Springer, Berlin.

Eswaran, S. & Abburu, S. 2012. Identifying Data Integrity in the Cloud Storage. IJCSI International Journal of Computer Science Issues, 9 (2), 403-408.

Mittal, M., Sangani, R. & Srivastava, K. 2015.

Testing Data Integrity in Distributed Systems. Procedia Computer Science, 45, 446-452.

Motara, Y. & Irwin, B. 2016. SHA-1 and the Strict Avalache Criteria. Information Security for South Africa (ISSA), 35-40.

Suganya, S. & P.M Durai, R. V. 2017.

Improving Cloud Security by Enhacing Remote Data Integrity Checking Algorithm. International Conference on Innovations in Power and Advanced Computing Technologies, 1-6.

Webster, A. F. & Tavares, S. E. 1986. On the Design of S-Boxes. Lecture Notes in Computer Science, 218, 523-524.

Springer, Berlin.

Referensi

Dokumen terkait

Menurut sebuah penelitian mengungkapkan bahwa karakteristik anak sekolah dasar yang berkaitan dengan aktivitas fisik pada umumnya yaitu anak senang melakukan

Dari dua definisi tersebut terlihat bahwa sosiologi adalah suatu ilmu yang menggambarkan tentang keadaan masyarakat lengkap dengan struktur lapisan serta gejala

Praktik mengajar terbimbing adalah praktik mengajar dimana mahasiswa praktikan mendapat arahan dalam pembuatan perangkat pembelajaran, persiapan mengajar, evaluasi

1. menyadari bahwa akan adanya kebutuhan-kebutuhan untuk mengembangkan dorongan-dorongan sosial atau tekanan-tekanan sosial dan tekanan ekonomi yang dapat mempengaruhi

Ucapan terima kasih terkhusus penulis ucapkan kepada segenap keluarga penulis: Ibu Jainem, Bapak Gimin, Widia Jumiasih dan Rohmat Susanto sebagai orang-orang

Pada tugas akhir ini dilakukan perancangan dan implementasi Graphical User Interface (GUI) menggunakan Geany IDE untuk mempermudah user untuk melakukan pengambilan data

Selain KTI terbit dalam bentuk buku apabila peneliti tersebut telah memiliki 1 KTI terbitan majalah ilmiah internasional atau mempunyai penemuan baru atau internasional atau

Halaman Buku Tamu merupakan halaman Website Sistem Informasi Geografis Berbasis Web untuk Pemetaan Lokasi PMI Provinsi Kepulauan Bangka Belitung. Halaman ini