Kamis, 18 April 2013

[android] Scroll horizontal dan vertical

Hi, hari ini mau tulis scroll horizontal dan vertical di android. Lansung aja ke code ya. Pertama - tama kita buat dulu custom scroll untuk yang vertical (VScroll.java) dan horizontal (HScroll.java).

package ardi.fisika6.util;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.HorizontalScrollView;


Kamis, 11 April 2013

Push Code ke Github

Hari ini mau tulis cara push code ke github. Langkah awal pastinya harus punya account di github dulu ya :senyum. Buat repo dulu di github, lalu dipush dari client.
Langkah - langkah pembuatan repo di github
1. Klik new repository, lalu akan muncul form seperti gambar dibawah ini.

2. Setelah dibuat akan muncul window seperti dibawah ini, nah pilih ssh. Karna sampe sekarang gw belum bisa push via https :hammer.

Senin, 08 April 2013

Foreignkey postgresql

Sore ini mau tulis hal yang simple tapi kadang bisa terlupa, yakni foreignkey di postgresql. Prinsipnya sama dengan yang lain.

Misalnya kita buat 2 table (a_table & b_table). Jadi b_table punya column yang jadi reference ke table a_table.

CREATE TABLE a_table (id bigint primary key, name varchar(20));
Hasilnya seperti gambar di bawah ini

CREATE TABLE b_table (id bigint primary key, name varchar(20), id_a bigint references a_table(id));
Hasilnya seperti gambar di bawah ini

Jumat, 05 April 2013

Cipher based MAC (CMAC) C code

Hari ini mau tulis tentang CMAC dan sekalian share codenya jg :senyum. CMAC digunakan untuk menjamin data yang masuk itu tidak ada yang berubah, dalam artian tidak ada orang yang mengubah paket data dalam trafik jaringan.

Algoritma CMAC pada prinsipnya merupakan variasi dari CBC-MAC, bisa dilihat di wiki atau di e-book SP_800-38B.pdf. Dan kali ini saya hanya akan memberikan CMAC menggunakan enkripsi TDEA(Triple Data Encryption Algorithm)

Untuk membuat checksum menggunakan CMAC metode TDEA, terlebih dahulu kita harus tahu variabel apa saja yang diperlukan
- Key (K), yakni master key yang diperlukan untuk mengenerate subkey K1 dan K2.
- K1 & K2, yakni subkey yang dibutuhkan untuk XOR message (M) di 8 byte terakhir.
- Message (M), yakni data yang digunakan untuk menghasilkan checksum
- Initial Value (IV), digunakan untuk pada enkripsi CBC-TDEA.
Dan hal pertama yang kita lakukan adalah generate subkey (K1 & K2) dari K. Step - step untuk generate subkey;
1. L = CIPHK(0b) ; dengan b = 8 byte, sehingga 08 = 00000000, CIPHK() menggunakan algoritma TDEA enkripsi. (a*)
2. If MSB1(L) = 0, then K1 = L << 1 Else K1 = (L << 1) ⊕ Rb; Jika MSB (Most Significant Bit) 1 paling kiri dari L adalah 0, maka geser 1 bit ke kiri pada array L. Jika tidak maka geser 1 bit pada array L , lalu xor dengan Rb .
3. If MSB1(K1) = 0, then K2 = L << 1 Else K2 = (K1 << 1) ⊕ Rb; Jika MSB (Most Significant Bit) 1 paling kiri dari L adalah 0, maka geser 1 bit ke kiri pada array L. Jika tidak maka geser 1 bit pada array L , lalu xor dengan Rb .

Selasa, 02 April 2013

Clone VDI Virtualbox di Ubuntu

Hi, hari ini mau tulis cara clone vdi di ubuntu. Biasanya kita kalau uda install os di virtualbox terus pengen pake lagi, tp pengen yang fresh install itu kan tinggal copy aja vdi yang belum diinstall apa2 kan ya. Ternyata kita gak bisa melakukan hanya dengan copy paste aja. Kalau kita hanya melakukan copy paste aja, pasti akan muncul window error seperti di bawah ini deh.