• Tidak ada hasil yang ditemukan

BAB II. STUDI LITERATUR

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II. STUDI LITERATUR"

Copied!
15
0
0

Teks penuh

(1)

II-1

BAB II.

STUDI LITERATUR

Pada bab ini, akan dipaparkan teori-teori yang mendasari pengerjaan tugas akhir ini. Secara umum, teori yang dibahas adalah mengenai kriptografi, XXTEA, dan format penulisan surat elektronik.

II.1

Kriptografi

Kriptografi adalah ilmu menganalisis dan menguraikan kode dan sandi rahasia dan kriptogram (sebuah potongan tulisan dalam kode atau sandi rahasia) [PRI08]. Tujuan utama kriptografi adalah memungkinkan 2 (dua) orang, direpresentasikan sebagai Alice dan Bob, untuk berkomunikasi melalui saluran tidak aman dalam sebuah cara sehingga lawannya, Oscar, tidak mampu mengerti isi percakapan mereka. Saluran tidak aman yang dimaksud dapat berupa jalur telepon atau jaringan komputer. Informasi yang Alice ingin kirim ke Bob, disebut sebagai plaintext, dapat berupa teks berbagai bahasa, data numerik atau lainnya—strukturnya dibebaskan kombinasinya. Alice mengenkripsi plaintext, menggunakan sebuah kunci, dan mengirimkan ciphertext hasil melalui saluran komunikasi. Oscar yang mencuri dengar ciphertext dalam saluran komunikasi tidak bisa menentukan plaintext-nya, tetapi jika Bob mengetahui kunci enkripsinya, Bob dapat mendekripsi ciphertext dan merekonstruksi plaintext yang bersesuaian.

Konsep di atas dideskripsikan secara formal menggunakan notasi matematis berikut [STI95]:

Sebuah kriptosistem adalah sebuah tuple berukuran 5 (lima), yaitu (P,C,κ,ε,D), dimana kondisi berikut dipenuhi:

1. P adalah kumpulan terbatas dari plaintext yang mungkin. 2. C adalah kumpulan terbatas dari ciphertext yang mungkin.

(2)

4. Untuk setiap K єκ, terdapat sebuah aturan enkripsi eK єε dan sebuah aturan dekripsi yang bersesuaian dK є D. Masing-masing eK : P → C dan dK : C → P adalah fungsi-fungsi sehingga dK (eK (x)) = x untuk setiap plaintextx є P

Properti utama dari notasi di atas adalah properti 4. Disebutkan bahwa jika sebuah plaintext x dienkripsi menggunakan eKdan ciphertext yang dihasilkan lalu didekripsi menggunakan dK, plaintext awal x akan dihasilkan.

Alice dan Bob akan menggunakan protokol berikut dalam menjalankan sebuah kriptosistem spesifik:

1. Alice dan Bob memilih sebuah kunci random K є κ. Hal ini dilakukan ketika mereka berada di tempat yang sama dan tidak sedang diamati oleh Oscar, atau ketika mereka mempunyai akses ke saluran komunikasi yang aman, dimana mereka dapat berada di tempat yang berbeda.

2. Suatu saat, Alice ingin mengirimkan pesan pada Bob melalui saluran tidak aman. Pesan dimisalkan sebagai sebuah string berbentuk

x = x1x2…xn

untuk sebuah integer n ≥ 1, dimana masing-masing simbol plaintext xiє P, 1 ≤

i ≤ n.

3. Masing-masing xi dienkripsi menggunakan aturan enkripsi eK yang spesifik menggunakan kunci yang telah ditentukan sebelumnya, yaitu K. Lalu, Alice menghitung yi = eK (xi), 1 ≤ i ≤ n, dan string ciphertext yang dihasilkan berbentuk

y = y1y2…yn

dikirimkan melalui saluran tidak aman.

4. Ketika Bob menerima ciphertexty1y2…yn, dia mendekripsi ciphertext tersebut menggunakan aturan dekripsi dK, menghasilkan stringplaintext awal, x1x2…xn. Lihat Gambar II-1 sebagai ilustrasi dari saluran komunikasi yang digunakan.

(3)

Gambar II-1 Ilustrasi Saluran Komunikasi

Keterangan Gambar II-1:

1. X : plaintext, pesan yang akan dikirimkan. 2. Y : ciphertext, pesan yang telah terenkripsi. 3. K : kata kunci yang digunakan untuk enkripsi X. 4. Alice : pengirim pesan.

5. Bob : penerima pesan.

6. Oscar : kriptanalis, orang yang berusaha memecahkan ciphertext. 7. Encrypter : program enkripsi plaintext dengan kata kunci enkripsi. 8. Decrypter : program dekripsi ciphertext dengan kata kunci dekripsi. 9. Key source : sumber generasi kata kunci yang random.

10.Secure channel: saluran komunikasi aman yang digunakan untuk mengirimkan kata kunci.

Jelas terlihat bahwa fungsi enkripsi eK adalah fungsi injektif (contoh, satu-ke-satu), jika tidak, dekripsi tidak dapat dilakukan. Sebagai contoh, jika

y = eK (x1) = eK (x2)

dimana x1≠ x2, maka Bob tidak dapat mengetahui apakah y harus didekripsi menjadi

(4)

II.2

Block Cipher

Block cipher adalah sebuah tipe algoritma enkripsi kunci simetris yang mentransformasikan sebuah blok plaintext berukuran tetap (teks yang tidak terenkripsi) menjadi blok ciphertext (teks yang terenkripsi) dengan ukuran yang sama [RSA09]. Transformasi ini berlangsung dengan menggunakan kunci rahasia masukan dari user. Proses dekripsi dilakukan dengan menjalankan transformasi kebalikan ke blok ciphertext dengan menggunakan kunci rahasia yang sama. Ukuran 1 (satu) blok yang selalu tetap dinamakan block size dan untuk sebagian besar block cipher, block size sebesar 64 bits. Sebagai contoh, misalkan terdapat sebuah plaintext x. Plaintext tersebut dapat dilihat sebagai kumpulan blok:

x = x1x2…xn

dimana xm, 1≤m≤n, merupakan satuan blok dari ciphertext yang berukuran 64 bits.

Ketika user mengenkripsi x, proses enkripsi dilakukan per blok sehingga menghasilkan ciphertext y yang dapat dilihat sebagai berikut:

y = y1y2…yn = eK(x1) eK(x2)… eK(xn)

Gambar II-2 Skema Enkripsi dan Dekripsi Block Cipher di bawah menampilkan proses enkripsi dan dekripsi block cipher secara umum [MUN06].

(5)

Keterangan Gambar II-2:

1. Diagram kiri menggambarkan proses enkripsi, sedangkan diagram kanan proses dekripsi.

2. E : proses enkripsi dengan masukan plaintext X dan kunci K yang menghasilkan ciphertextY.

3. D : proses dekripsi dengan masukan ciphertext Y dan kunci K yang menghasilkan plaintextX.

II.3

Jaringan Feistel

Horst Feistel (1915-1990) adalah seorang peneliti non-militer pertama dalam bidang kriptografi dan dapat dinilai sebagai pendiri dari dasar block cipher modern [EXH09]. Pada 1973, dia mempublikasikan sebuah artikel dengan judul “Cryptography and Computer Privacy” dalam sebuah majalah bernama “Scientific American”1, yang di dalamnya dia berusaha untuk mencakup aspek terpenting mesin enkripsi dan memperkenalkan sesuatu yang sekarang dikenal dengan nama jaringan Feistel. Pemodelan dengan Jaringan Feistel kemudian menjadi terkenal digunakan sebagai basis untuk banyak skema algoritma enkripsi.

Gambar II-3 Skema Penyandian dari Feistel Cipher

(6)

Keterangan Gambar II-3:

1. Ln : bagian kiri dari blok plaintext yang akan dienkripsi. 2. Rn : bagian kanan dari blok plaintext yang akan dienkripsi. 3. Kn : kata kunci yang digunakan untuk enkripsi pada putaran ke-n.

4. F : fungsi transformasi, yang tidak perlu memiliki kebalikan sehingga dapat berupa fungsi yang rumit.

Model jaringan Feistel pada Gambar II-3 adalah sebagai berikut [MUN06]:

1. Bagi blok yang panjangnya n bit menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya n/2 (hal ini mensyaratkan n harus genap). 2. Definisikan cipher blok berulang dimana hasil dari putaran ke-i ditentukan

dari hasil putaran sebelumnya, yaitu: Li = Ri+1

Ri= Li – 1 ⊕f(Ri – 1, Ki) yang dalam hal ini,

i = 1, 2,… r (r adalah jumlah putaran). Ki= upa-kunci (subkey) pada putaran ke-i

f = fungsi transformasi (di dalamnya terdapat fungsi substitusi, permutasi, dan/atau ekspansi, kompresi).

II.4

Fungsi Hash SHA

Fungsi hash adalah fungsi yang menerima masukan string yang panjangnya sembarang, lalu mentransformasikannya menjadi string keluran yang panjangnya tetap (umumnya berukuran jauh lebih kecil daripada ukuran string semula) [MUN06]. Tujuan dari fungsi hash [MUN06], yaitu:

1. Menjaga integritas data, dimana fungsi hash sangat peka terhadap perubahan pesan.

2. Menghemat waktu pengiriman ketika melakukan pengecekan validitas sebuah file dengan melakukan perbandingan messagedigest antara file salinan dengan file asli.

(7)

3. Menormalkan panjang data yang beraneka ragam, misalkan penyimpanan password. Password masukan user dapat beragam ukurannya, tetapi dengan menggunakan fungsi hash, panjang message digest-nya akan selalu sama.

Terdapat beberapa fungsi hash yang ada [MUN06], yaitu: 1. MD2, MD4, MD5.

2. Secure Hash Function (SHA), yang terdiri dari SHA0, SHA1, dan SHA2 (memiliki varian berupa SHA224, SHA256, SHA384, dan SHA512).

3. Snefru. 4. N-hash.

5. RIPE-MD, dan lain-lain.

Fungsi hash SHA1 dikembangkan oleh National Institute of Standards and Technology (NIST) dan National Security Agency (NSA) melalui publikasi Federal Information Processing Standards (FIPS) 180: Secure Hash Standard (SHS) pada Mei 1993. SHA1 digunakan untuk menghitung representasi singkat dari sebuah pesan atau file [FAQ09]. Ketika sebuah pesan dengan panjang lebih kecil dari 264 bits sebagai input, SHA1 menghasilkan sebuah keluaran yang dinamakan message digest yang berukuran 160 bit. Setiap perubahan pada input akan menghasilkan perubahan message digest dengan probabilitas tinggi. SHA1 dikatakan aman karena fungsi hash ini secara penghitungan tidak dapat dicari sebuah pesan yang bersesuaian dengan message digest yang diberikan.

II.5

Corrected Block Tiny Encryption Algorithm

Pada subbab ini, akan dibahas definisi, algoritma penyandian, dan detail sandi yang akan digunakan dalam tugas akhir ini. Secara umum, algoritma yang digunakan adalah block cipher.

II.5.1 Definisi

Corrected Block Tiny Encryption Algorithm, untuk selanjutnya disebut sebagai XXTEA, adalah sebuah algoritma penyandian yang sederhana, tapi kuat yang berbasis

(8)

iterasi Feistel dan menggunakan banyak ronde untuk mendapatkan keamanan [MOV08]. XXTEA dirancang berupa program kecil yang dapat berjalan pada banyak mesin dan mengenkripsi dengan aman. Algoritma ini menggunakan banyak iterasi dibandingkan program yang rumit sehingga algoritma ini dapat diterjemahkan ke dalam banyak bahasa pemrograman dengan mudah.

XXTEA juga merupakan sebuah algoritma enkripsi efektif yang mirip dengan DES2 yang dapat digunakan untuk aplikasi web yang membutuhkan keamanan. Ketika menggunakan algoritma ini, sebuah perubahan dari teks asal akan mengubah sekitar setengah dari teks hasil tanpa meninggalkan jejak dimana perubahan berasal.

XXTEA beroperasi pada blok yang berukuran tetap yang merupakan kelipatan 32 bits dengan ukuran minimal 64 bits. Jumlah dari putaran lengkap bergantung pada ukuran blok, tetapi terdapat minimal 6 (bertambah terus hingga 32 untuk ukuran blok yang lebih kecil). Algoritma ini menggunakan lebih banyak fungsi pengacakan yang menggunakan kedua blok tetangganya dalam pemrosesan setiap kata dalam blok.

Untuk kemudahan penggunaan dan keamanan secara umum, XXTEA lebih tepat digunakan ketika dapat dipakai untuk kondisi berikut:

1. Perubahan satu bit pada plaintext akan mengubah sekitar setengah dari total bits dari seluruh blok tanpa meninggalkan jejak dimana perubahan dimulai. 2. Walaupun terdapat perubahan yang teratur pada plaintext (misalkan nomor

pesan), hanya pesan yang sama yang akan memberikan ciphertext yang sama dan kebocoran informasi minimal.

3. Jika tidak memungkinkan untuk memasukkan pesan yang panjang, pesan tersebut dapat dipecah menjadi beberapa bagian yang masing-masing berukuran 60 kata.

2 Keterangan lebih lengkap mengenai DES dapat dibaca di

(9)

II.5.2 Algoritma Penyandian

Gambar II-4 Satu Iterasi dalam XXTEA

Keterangan simbol:

1. Xr, Xr-1, Xr+1 : blok plaintext, dimana r adalah urutan blok yang sedang diacak.

2. q : jumlah iterasi yang sedang dilakukan.

3. DELTA : q dikalikan dengan konstanta yang bernilai 0x9E3779B. 4. Kr : blok kata kunci ke-r, dimana r sama dengan keterangan di

atas.

5. <<n : pergeseran bit ke kiri sebanyak n kali. 6. >>n : pergeseran bit ke kanan sebanyak n kali.

7. : operasi XOR.

(10)

Keterangan warna:

1. Kotak berwarna merah : inputuser. 2. Kotak berwarna hijau : output program.

Gambar II-4 Satu Iterasi dalam XXTEA menampilkan proses pengacakan yang dilakukan pada satu iterasinya. Proses iterasi dalam XXTEA dilakukan dalam 2 kali iterasi yang dilakukan secara bersarang. Pada iterasi teratas, iterasi dilakukan sebanyak q, dimana

q = 6 + 52/n

dengan n ≥ 1 dimana n adalah jumlah blok dari plaintext. Lalu, pada iterasi selanjutnya, iterasi dilakukan sebanyak n kali.

Proses pengacakan yang dilakukan dalam satu iterasi XXTEA adalah sebagai berikut: 1. Algoritma akan mengacak blok ke-r dari plaintext.

2. Proses akan mengambil xr-1, xr+1, DELTA, dan kata kunci sebagai input. 3. Pengacakan pertama: xr-1<<2 di-XOR-kan dengan xr+1>>5.

4. Pengacakan kedua: xr-1>>3 di-XOR-kan dengan xr+1<<4. 5. Hasil yang didapat dari tahap 4 dan 5 ditambahkan.

6. Pengacakan ketiga: xr-1 di-XOR-kan dengan D yang merupakan perkalian antara konstanta DELTA yang bernilai 0x9E3779B dengan jumlah iterasi pertama yang telah dilakukan.

7. Pengacakan keempat: xr+1 di-XOR-kan dengan salah satu blok kata kunci, yaitu blok ke-(r XOR D>>2).

8. Hasil yang didapat dari tahap ke 6 dan 7 ditambahkan. 9. Hasil yang didapat dari tahap 5 dan 8 di-XOR-kan.

10.Hasil yang didapat pada tahap 9 ditambahkan ke blok plaintext ke-r.

II.5.3 Detail Sandi

Tabel II-1 menjelaskan detail algoritma XXTEA secara singkat mengenai panjang kata kunci, ukuran masing-masing blok, struktur algoritma, dan banyaknya ronde dalam satu proses pengacakan.

(11)

Tabel II-1 Detail Sandi

No Variabel Keterangan

1 Panjang kunci 128 bits

2 Ukuran blok Tidak tetap, bergantung pada panjang teks asal

3 Struktur Jaringan Feistel

4 Ronde Tidak tetap, 6-32 ronde Feistel (sekitar 3-16 putaran) bergantung pada panjang blok.

II.6

Kata Kunci

Pada subbab ini, akan dibahas definisi kata kunci, kekuatan kata kunci, dan cara pengukurannya. Semakin kuat kata kunci yang digunakan dalam enkripsi sebuah plaintext, semakin sulit sebuah ciphertext untuk dipecahkan. Selain kerumitan algoritma enkripsi yang digunakan, kerumitan kata kunci juga menentukan keamanan ciphertext yang didapatkan.

II.6.1 Definisi

Kata kunci adalah sekumpulan karakter yang dimasukkan seorang pengguna untuk mendapatkan akses ke sumber informasi yang diproteksi [MIC08]. Terdapat sebuah dilema dalam pemilihan dan penggunaan kata kunci, dimana pengguna tidak mudah, atau bahkan tidak mampu mengingat kata kunci yang kuat dan kata kunci yang diingat justru kata kunci yang mudah ditebak.

Kata kunci yang baik harus mengandung karakter campuran atau karakter khusus, dan tidak boleh mengandung kata-kata yang dapat ditemukan dalam kamus [LAW08]. Kata kunci dapat berupa gabungan huruf kapital atau huruf kecil. Sebuah teknik yang bagus untuk memilih kata kunci adalah dengan menggunakan huruf pertama dari sebuah frase, tapi jangan mengambil frase yang umum diketahui, seperti “An apple a day keeps the doctor away” (Aaadktda). Contoh: ambil frase yang bersifat pribadi dan tidak umum digunakan, seperti “My dog’s first name is Rex” (MdfniR). Selain itu, kata kunci yang baik memiliki panjang minimal 8 (delapan) karakter dan harus

(12)

mengandung sedikitnya 2 (dua) karakter bukan huruf. Disarankan agar kata kunci selalu diganti minimal sekali sebulan.

II.6.2 Pengukuran Kekuatan Kata Kunci

Melihat adanya sejumlah saran yang dapat digunakan dalam membangun kata kunci yang baik, kata kunci dapat diukur derajat kekuatannya. Pengukuran kekuatan kata kunci dilakukan dengan melakukan penilaian terhadap kata kunci masukan.

Terdapat sejumlah faktor penilaian yang dapat digunakan [GEE08], yaitu: 1. Panjang karakter kata kunci minimal 8.

2. Gunakan campuran huruf kapital atau huruf kecil. 3. Gunakan minimal 1 angka.

4. Gunakan karakter khusus (!,@,#,$,%,^,&,*,?,_,~).

5. Gunakan prinsip Leet, yaitu penggunaan karakter non-alfabet untuk menggantikan huruf yang memiliki kemiripan yang dekat atau perubahan pengucapan, seperti penggantian huruf “s” yang terakhir dengan “z” atau “(c)ks” untuk “x” [NAT08].

Untuk masing-masing faktor penilaian di atas, diberikan sebuah nilai tambahan jika faktor tersebut dipenuhi. Dengan menggunakan faktor-faktor penilaian di atas, sebuah kata kunci masukan akan dinilai derajat kekuatannya.

II.7

Surat Elektronik

Surat elektronik adalah sebuah sistem komunikasi elektronik dunia yang di dalamnya sebuah pengguna komputer dapat membuat pesan pada sebuah terminal yang nantinya dapat diregenerasi di terminal penerima ketika penerima login [PRI09]. Sistem pengiriman surat elektronik modern didasarkan pada model store-and-forward yang di dalamnya server surat elektronik menerima, meneruskan, atau menyimpan pesan atas nama pengguna yang hanya terkoneksi ke infrastruktur surat elektronik dengan menggunakan komputer pribadinya.

(13)

Gambar II-5 Proses Pengiriman Surat Elektronik menjelaskan skema sederhana proses pengiriman surat elektronik dari Alice sebagai pengirim sampai Bob sebagai penerima.

Gambar II-5 Proses Pengiriman Surat Elektronik

Ketika Alice menekan tombol “Send” pada mail user agent (MUA)-nya, terjadi tahapan berikut:

1. MUA memformat pesan menggunakan protokol berkaitan untuk dikirimkan ke mail transfer agent (MTA) lokal, yang dimiliki oleh Internet Service Provider (ISP) Alice.

2. MTA melihat alamat tujuan dalam surat elektronik, yang pada contoh di atas adalah bob@b.org.

3. DNS server untuk domain b.org, yaitu ns.b.org, merespon dengan memberikan daftar MX yang menampilkan servermail untuk domain tersebut, yaitu mx.b.org, yang dimiliki oleh ISP Bob.

4. smtp.a.org mengirimkan pesan ke mx.b.org menggunakan protokol surat elektronik yang akan dimasukan ke mailbox Bob.

(14)

II.8

MIME

MIME adalah format standar internet yang memperluas format surat elektronik untuk mendukung [MHO09]:

1. Teks dalam set karakter selain ASCII, biasanya dalam format encoding Base643.

2. Non-text attachments.

3. Badan pesan dalam banyak bagian.

4. Informasi header dalam non-ASCII set karakter.

Contoh surat elektronik dalam format MIME:

MIME-version: 1.0

Content-type: multipart/mixed; boundary="frontier" This is a message with multiple parts in MIME format. --frontier

Content-type: text/plain

This is the body of the message. --frontier Content-type: application/octet-stream Content-transfer-encoding: base64 PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcy BpcyB0aGUg Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --frontier— Keterangan:

1. Sebuah surat elektronik dapat dibangun dalam beberapa bagian yang dinyatakan oleh “Content-type: multipart/mixed;” dan

masing-masing bagian dibatasi oleh sebuah boundary yang dinyatakan oleh “boundary="frontier"”.

2. Bagian

Content-type: text/plain

This is the body of the message. --frontier

(15)

menyatakan bagian body dari surat elektronik yang dibangun dalam tipe text/plain.

3. Bagian selanjutnya “Content-type: application/octet-stream”

menyatakan attachment dari surat elektronik dalam bentuk binary file.

II.9

Mekanisme Add-on pada Mozilla Thunderbird

Pada subbab I.1 telah dijelaskan sebelumnya, add-on adalah sebuah fitur yang disediakan pada Mozilla Thunderbird untuk memungkinkan developer menambah fungsionalitas Thunderbird. Dalam pembangunannya, add-on dibagi menjadi 2 (dua) bagian penting, yaitu modul antarmuka dan modul controller. Pertama, developer membangun antarmuka add-on. Pembangunan antarmuka menggunakan bahasa XUL.

XUL adalah Extensible Markup Language (XML) grammar yang menyediakan komponen dasar antarmuka, seperti button, menu, toolbar, tree, dan lain-lain. Aksi user yang dikaitkan dengan fungsionalitas dibangun dengan menggunakan Javascript. Untuk mengembangkan Thunderbird, pengembang memodifikasi antarmuka Thunderbird dengan menambahkan atau memodifikasi komponen dasarnya. Pengembang menambahkan komponen dasar dengan memasukan elemen DOM XUL ke window Thunderbird dan memodifikasinya dengan menggunakan scripts dan event handlers yang sesuai [DEV09]. Scripts dan event handlers dapat dibangun dengan menggunakan bahasa C dan Javascript. Pada tugas akhir ini, scripts dan event handlers dibangun dengan Javascript.

Gambar

Gambar II-1 Ilustrasi Saluran Komunikasi
Gambar II-2 Skema Enkripsi dan Dekripsi Block Cipher di bawah menampilkan  proses enkripsi dan dekripsi block cipher secara umum [MUN06]
Gambar II-3 Skema Penyandian dari Feistel Cipher
Gambar II-4 Satu Iterasi dalam XXTEA
+3

Referensi

Dokumen terkait

Jika perawat merasa bahwa mereka memiliki peluang untuk mendapatkan pelatihan dan pengembangan, maka tidak hanya membantu memastikan bahwa perawat memiliki keterampilan

Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah dalam penelitian ini adalah adakah pengaruh intensitas mengikuti bimbingan agama

1. Peserta didik belum terlibat dalam proses pembelajaran, sehingga materi yang diberikan menjadi sulit dipahami oleh siswa dan mengakibatkan hasil belajar

Berdasarkan teori ini, suatu perusahaan yang dipandang memiliki reputasi yang baik oleh para stakeholder -nya akan membuat perusahaan itu lebih mudah untuk

Pelaksanaan hukum secara Represif adalah penegakan hukum yang dilakukan pihak Kepolisian Polair Polres Rokan Hilir untuk melakukan penindakan terhadap pelaku

Sarung tangan yang kuat, tahan bahan kimia yang sesuai dengan standar yang disahkan, harus dipakai setiap saat bila menangani produk kimia, jika penilaian risiko menunjukkan,

Bukit dan gunung merupakan daerah penyerap dan penyimpan cadangan air yang berasal dari air hujan.Cadangan air yang diserap tersebut masuk ke dalam tanah dan batuan.Karena volume

Berdasarkan landasan teori dan review penelitian terdahulu, faktor – faktor yang mempengaruhi keputusan petani dalam menggunakan CU sebagai lembaga pembiayaan dalam usahatani