Minggu, 27 April 2014

Pada kali ini saya akan share bagaimana membuat Listview Image dengan menggunakan SQLite,,,,





Dimana pada postingan sebelumnya saya telah memposting tentang bagaimana membuat Listview Image dengan Intent class lain,,,,

Untuk class yang sedikit, boleh lah pakai postingan saya yang sebelumnya,,,,
Tapi kalo datanya banyak, wih, harus bikin brp class (java) dan harus di intent satu persatu....

kalo pake SQLite, kita hanya butuh 3 class java + 3 xml aja,,,,,
jadi data2 akan di simpan ke dalam database g usah bikin banyak class,,,,,

gimana cara buatnya???

1. Buat project android baru di eclipse, kali ini saya buat dengan nama DatabaseList (com.dimz.databaselist) dengan contoh aplikasi database hp android..

2. Kita butuh 3 java (MainActivity.java, Detail.java, Database.java)

MainActivity.java (digunakan untuk membuat dan menampilkan listview nya)..

package com.dimz.databaselist;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {
protected ListView lv;
protected ListAdapter adapter;
SQLiteDatabase db;
Cursor cursor;
EditText et_db;

@SuppressWarnings("deprecation")
 @Override
  protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

db = (new Database(this)).getWritableDatabase();
lv = (ListView) findViewById(R.id.lv);
et_db =(EditText) findViewById(R.id.et);

try{
cursor = db.rawQuery("SELECT * FROM sam ORDER BY nama ASC", null);
adapter = new SimpleCursorAdapter(this, R.layout.isi_lv, cursor, new String[] {"nama", "versi", "img"}, new int[] {R.id.tv_nama, R.id.tv_versi, R.id.imV});
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView parent, View v,
int position, long id) {
detail(position);}
});
}catch(Exception e){
e.printStackTrace();
}

}

@SuppressWarnings("deprecation")
public void search_db(View v){
String edit_db = et_db.getText().toString();
if(!edit_db.equals("")){
try{
cursor = db.rawQuery("SELECT * FROM sam WHERE nama LIKE ?", new String[] {"%" +edit_db+ "%"});
adapter = new SimpleCursorAdapter(this, R.layout.isi_lv, cursor, new String[] {"nama", "versi", "img"}, new int[] {R.id.tv_nama, R.id.tv_versi, R.id.imV});
if(adapter.getCount() == 0){
Toast.makeText(this, "Tidak ditemukan data dengan kata kunci "+edit_db+"", Toast.LENGTH_SHORT).show();
}else{
lv.setAdapter(adapter);
}
}catch(Exception e){
e.printStackTrace();
}
}else{
try{
cursor = db.rawQuery("SELECT * FROM sam ORDER BY nama ASC", null);
adapter = new SimpleCursorAdapter(this, R.layout.isi_lv, cursor, new String[] {"nama", "versi", "img"}, new int[] {R.id.tv_nama, R.id.tv_versi, R.id.imV});
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
}catch(Exception e){
e.printStackTrace();
}
}
}

public void detail(int position){
int im = 0;
String _id = "";
String nama = "";
String versi = "";
String layar = "";
String processor = "";


if(cursor.moveToFirst()){
cursor.moveToPosition(position);
im = cursor.getInt(cursor.getColumnIndex("img"));
nama = cursor.getString(cursor.getColumnIndex("nama"));
versi = cursor.getString(cursor.getColumnIndex("versi"));
layar = cursor.getString(cursor.getColumnIndex("layar"));
processor = cursor.getString(cursor.getColumnIndex("processor"));

}

Intent iIntent = new Intent(this, Detail.class);
iIntent.putExtra("dataIM", im);
iIntent.putExtra("dataNama", nama);
iIntent.putExtra("dataVersi", versi);
iIntent.putExtra("dataLayar", layar);
iIntent.putExtra("dataProcessor", processor);


setResult(RESULT_OK, iIntent);
startActivityForResult(iIntent, 99);
  }

}

Detail.java (digunakan untuk memanggil databasenya)

package com.dimz.databaselist;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.TextView;

@SuppressWarnings("deprecation")
public class Detail  extends Activity{
ImageView Im;
TextView tv_nama, tv_versi, tv_processor, tv_layar, tv_size, id, namaIm;
Gallery gallery;
ImageSwitcher imageSwitcher;
Integer[] imageIDs = new Integer[3];
int msg_im;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);

Intent iIdentifikasi = getIntent();
msg_im = iIdentifikasi.getIntExtra("dataIM", 0);
String msg_nama = iIdentifikasi.getStringExtra("dataNama");
String msg_versi = iIdentifikasi.getStringExtra("dataVersi");
String msg_layar = iIdentifikasi.getStringExtra("dataLayar");
String msg_processor = iIdentifikasi.getStringExtra("dataProcessor");

Im = (ImageView) findViewById(R.id.iv_detail);
tv_nama = (TextView) findViewById(R.id.tvNama);
tv_versi = (TextView) findViewById(R.id.tvVersi);
tv_layar = (TextView) findViewById(R.id.tvLayar);
tv_processor = (TextView) findViewById(R.id.tvProcessor);

Im.setImageResource(msg_im);
tv_nama.setText(msg_nama);
tv_versi.setText(msg_versi);
tv_layar.setText(msg_layar);
tv_processor.setText(msg_processor);

}
}

Database.java (Untuk isi dari databasenya)

package com.dimz.databaselist;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class Database extends SQLiteOpenHelper{
final static String DB_NAME = "db_samsung";

public Database(Context context) {
super(context, DB_NAME, null, 3);
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS sam(_id INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT, versi TEXT, layar TEXT, processor TEXT, img BLOB)";
db.execSQL(sql);

ContentValues values = new ContentValues();
values.put("_id", "1");
values.put("nama", "Galaxy Note II");
values.put("versi", "Android 4.1 Jelly Bean");
values.put("layar", "Super AMOLED capacitive touchscreen 16M colors");
values.put("processor", "1.6GHz Quad Core Processor");
values.put("img", R.drawable.note2);
db.insert("sam", "_id", values);

values.put("_id", "2");
values.put("nama", "Galaxy Nexus");
values.put("versi", "Android 4.2.2 Jelly Bean");
values.put("layar", "Super AMOLED capacitive touchscreen 16M colors");
values.put("processor", "1.2Ghz Dual Core Processor");
values.put("img", R.drawable.galnex);//im32 nama file gambar dengan ukuran 80 x 80 pixel yang ada di folder res/drawable pada project
db.insert("sam", "_id", values);

values.put("_id", "3");
values.put("nama", "Galaxy S II");
values.put("versi", "Android 4.1 (Jelly Bean)");
values.put("layar", "Super AMOLED Plus capacitive touchscreen, 16M colors");
values.put("processor", "Dual-core 1.2 GHz Cortex-A9");
values.put("img", R.drawable.galaxys2);
db.insert("sam", "_id", values);

values.put("_id", "4");
values.put("nama", "Galaxy S III");
values.put("versi", "Android 4.2.2 Jelly Bean");
values.put("layar", "Super AMOLED capacitive touchscreen, 16M colors");
values.put("processor", "Quad-core 1.4 GHz Cortex-A9");
values.put("img", R.drawable.galaxys3);
db.insert("sam", "_id", values);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS sam");
onCreate(db);

}

}


pada values.put("img", R.drawable.note2); taro gambar2 nya di folder drawable yah (kalo belom ada, berarti bikin folder dengan nama 'drawable' (tanpa kutip), di dalam res....



kalo udah, berarti urusan java udah kelar, sekarang pindah ke xml,,,
Buat 3 file xml di layout yaitu : activity_main.xml, detail.xml dan isi_lv.xml...

activity_main.xml
<RelativeLayout
    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"
tools:context=".MainActivity"
android:orientation="vertical"
  android:background="#FFFFFF" >

<EditText
   android:layout_marginTop="20dp"
   android:layout_marginBottom="10dp"
  android:id="@+id/et"
  android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/btn" >
<requestFocus />
  </EditText>
 
  <Button
     android:layout_marginTop="18dp"
     android:layout_marginBottom="10dp"
  android:id="@+id/btn"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentRight="true"
  android:layout_alignParentTop="true"
  android:background="@drawable/search"
  android:onClick="search_db"/>
 
  <ListView
     android:layout_marginTop="5dp"
  android:id="@+id/lv"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_below="@+id/et">
  </ListView>

</RelativeLayout>


pada android:background="@drawable/search" itu adalah gambar tombol search yg ada di list nantinya,,,,

detail.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:background="#FFFFFF"
  >

<ImageView
   android:layout_marginTop="30dp"
  android:id="@+id/iv_detail"
  android:layout_width="wrap_content"
  android:layout_gravity="center"
  android:layout_height="wrap_content"
android:src="@drawable/note2" />

<TableLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_marginTop="30dp">

<TableRow
  android:id="@+id/tableRow1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="5dp" >
<TextView
  android:id="@+id/textView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="  Nama" />
  <TextView
  android:id="@+id/textView2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text=" : " />
<TextView
  android:id="@+id/tvNama"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="TextView" />

</TableRow>

<TableRow
  android:id="@+id/tableRow2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="5dp" >
  <TextView
  android:id="@+id/textView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="  Version" />
  <TextView
  android:id="@+id/textView2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text=" : " />
  <TextView
android:id="@+id/tvVersi"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="TextView" />
  </TableRow>
 
  <TableRow
  android:id="@+id/tableRow3"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="5dp">
<TextView
  android:id="@+id/textView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="  Display" />
  <TextView
  android:id="@+id/textView2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text=" : " />
  <TextView
  android:id="@+id/tvLayar"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:maxWidth="15pt"
  android:text="TextView" />
  </TableRow>
 
<TableRow
  android:id="@+id/tableRow4"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="5dp">
<TextView
  android:id="@+id/textView1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="  CPU" />
  <TextView
  android:id="@+id/textView2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text=" : " />
  <TextView
  android:id="@+id/tvProcessor"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="8pt"
  android:text="TextView" />
  </TableRow>
 
 </TableLayout>
 </LinearLayout>

isi_lv.xml
<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginTop="4dp" >

<ImageView
  android:id="@+id/imV"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_launcher" />

<TextView
  android:id="@+id/tv_nama"
android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_toRightOf="@+id/imV"
  android:text="TextView"
  android:textSize="10pt"/>

<TextView
  android:id="@+id/tv_versi"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignLeft="@+id/tv_nama"
  android:layout_below="@+id/tv_nama"
  android:text="TextView" />

</RelativeLayout>

jangan lupa edit AndroidManifest.xml nya

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.dimz.databaselist"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.dimz.databaselist.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>
        <activity android:name="com.dimz.databaselist.Detail" android:label="Detail Smartphone"></activity>
    </application>

</manifest>


udah deh,,,, coba run,, dan hasilnya :



jreng2,,,,,,

gampang kan,,,,

kalo udah coba berkali2 tetep error, monggo download source codenya DISINI.....

kalo mau tau pass nya, kirim email ke dimazmarham19@gmail.com,,,

oke....
oke...
oke...

Senin, 08 Juli 2013

Kali ini ane mau buat tutorial Listview dengan gambar tapi bisa intent ke class java yg lain kalo d pilih (tanpa database),,,,

kalau2 ente mau bikin listview image dengan database SQLite, coba deh pake tutorial DISINI....




Begini nih tutorialnya,,,

1. Buat project di eclipse atau pake project yg udah ada,,,
2. Buat folder drawable di res dan masukkan gambarnya (buat ada gambar d listviewnya)...
3. Buat listmenu2.xml yg isinya :

   <?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"

    android:layout_marginTop="5dp">

    <ListView

        android:id="@+id/list"

        android:layout_marginTop="10dp"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:headerDividersEnabled="true"

        android:divider="#ff00ff"

        android:dividerHeight="2dp"

     />

   </LinearLayout>



4. Buat list_item.xml :

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent" >

    <ImageView

        android:id="@+id/icon"

        android:layout_width="80dp"

        android:layout_height="80dp"

        android:contentDescription="@string/image"

        android:paddingLeft="10dp"

        android:paddingRight="10dp" />

    <TextView

        android:id="@+id/title"

        android:paddingTop="10dp"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_toRightOf="@+id/icon"

        android:paddingBottom="10dp"

        android:textColor="#CC0033"

        android:textSize="16dp" />

    <TextView

        android:id="@+id/desc"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/title"

        android:layout_toRightOf="@+id/icon"

        android:textColor="#3399FF"

        android:textSize="14dp" />

</RelativeLayout>


Pada 'android:contentDescription="@string/image' bila error tambahkan kode :

 <string name="image">image</string>

5. MainActivity.java di isikan :

package com.com.listimage1;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;


public class MainActivity extends Activity implements OnItemClickListener {

    public static final String[] titles = new String[] { "Jeruk",

            "Pisang"};

    public static final String[] descriptions = new String[] {

            "Jeruk Mandarin", "Pisang Sunpriset"};

    public static final Integer[] images = { R.drawable.jeruk, R.drawable.banana};

    ListView listView;

    List<RowItem> rowItems;

  
    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.listmenu2);



        rowItems = new ArrayList<RowItem>();

        for (int i = 0; i < titles.length; i++) {

            RowItem item = new RowItem(images[i], titles[i], descriptions[i]);

            rowItems.add(item);

        }

        listView = (ListView) findViewById(R.id.list);

        CustomListViewAdapter adapter = new CustomListViewAdapter(this,

                R.layout.list_item, rowItems);

        listView.setAdapter(adapter);

        listView.setOnItemClickListener(this);

   }

    @Override

    public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {

     //variable position merupakan variabel urutan dalam listview yg tampil (mulai dr 0)

     if(position == 0){

      Intent i = new Intent(MainActivity.this, Satu.class);

         startActivity(i);

     }else if(position == 1){

         Intent i = new Intent(MainActivity.this, Dua.class);

         startActivity(i);

     }

     }
}

Image disesuaikan sesuai gambar yg ada di folder drawable..
Intent disesuaikan dengan yg mau d panggil classnya yah.....dalam kasus ini ane manggil Satu.class dan Dua.class

6. Buat RowItem.java :

package com.com.listimage1;

public class RowItem {

    private int imageId;

    private String title;

    private String desc;

    public RowItem(int imageId, String title, String desc) {

        this.imageId = imageId;

        this.title = title;

        this.desc = desc;

    }

    public int getImageId() {

        return imageId;

    }

    public void setImageId(int imageId) {

        this.imageId = imageId;

    }

    public String getDesc() {

        return desc;

    }

    public void setDesc(String desc) {

        this.desc = desc;

    }

    public String getTitle() {

        return title;

    }

    public void setTitle(String title) {

        this.title = title;

    }

    @Override

    public String toString() {

        return title + "\n" + desc;

    }

}

7. Dan CustomListView.java :
package com.com.listimage1;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomListViewAdapter extends ArrayAdapter<RowItem> {
    Context context;
    public CustomListViewAdapter(Context context, int resourceId,
            List<RowItem> items) {
        super(context, resourceId, items);
        this.context = context;
    }
    /*private view holder class*/
    private class ViewHolder {
        ImageView imageView;
        TextView txtTitle;
        TextView txtDesc;
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        RowItem rowItem = getItem(position);
        LayoutInflater mInflater = (LayoutInflater) context
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.list_item, null);
            holder = new ViewHolder();
            holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);
            holder.txtTitle = (TextView) convertView.findViewById(R.id.title);
            holder.imageView = (ImageView) convertView.findViewById(R.id.icon);
            convertView.setTag(holder);
        } else
            holder = (ViewHolder) convertView.getTag();
        holder.txtDesc.setText(rowItem.getDesc());
        holder.txtTitle.setText(rowItem.getTitle());
        holder.imageView.setImageResource(rowItem.getImageId());
        return convertView;
    }
}



Mantep gak tuh,,,,,

oiya jangan lupa tambahin deklarasi class di AndroidManifest.xml.....

Kalo g jalan, download aja projectnya langsung d sini...
(cara dpt passwordnya kirim email ke dimazmarham19@gmail.com)

kalo udah d import ke eclipse trus ada error d projectnya, coba buat project baru dan copas isi file xml sama java sesuai dengan project yg d download d sini,,,



Jumat, 28 Juni 2013


Rabu, 26 Juni 2013

Struktur Storage
Struktur Storage adalah bagian-bagian yang saling berhubungan dari suatu media yang digunakan untuk menyimpanan data yang diolah oleh komputer.


Gambar Struktur Hardisk

Hal penting yang perlu diingat adalah program adalah bagian dari data adalah:
  • Register : tempat penyimpanan beberapa buah data volatile yang akan diolah langsung di prosesor yang berkecepatan sangat tinggi. Register ini berada di dalam prosesor dengan jumlah yang sangat terbatas karena fungsinya sebagai tempat perhitungan/komputasi data
  • Cache Memory : tempat penyimpanan sementara ( volatile ) sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor yang berkecepatan tinggi. Dahulu cache disimpan di luar prosesor dan dapat ditambahkan. Misalnya pipeline burst cache yang biasa ada di komputer awal tahun 90-an. Akan tetapi seiring menurunnya biaya produksi die atau wafer dan untuk meningkatkan kinerja, cache ditanamkan di prosesor. Memori ini biasanya dibuat berdasarkan desain static memory.
  • Random Access Memory (RAM) - Main Memory : tempat penyimpanan sementara sejumlah data volatile yang dapat diakses langsung oleh prosesor. Pengertian langsung di sini berarti prosesor dapat mengetahui alamat data yang ada di memori secara langsung. Sekarang, RAM dapat diperoleh dengan harga yang cukup murah dangan kinerja yang bahkan dapat melewati cache pada komputer yang lebih lama.
  • Extension Memory : tambahan memory yang digunakan untuk membantu proses-proses dalam komputer, biasanya berupa buffer. Peranan tambahan memori ini sering dilupakan akan tetapi sangat penting artinya untuk efisiensi. Biasanya tambahan memori ini memberi gambaran kasar kemampuan dari perangkat tersebut, sebagai contoh misalnya jumlah VGA memory, soundcard memory. 
  • Secondary Storage : media penyimpanan data yang non-volatile yang dapat berupa Flash Drive, Optical Disc, Magnetic Disk, Magnetic Tape. Media ini biasanya daya tampungnya cukup besar dengan harga yang relatif murah. Portability-nya juga relatif lebih tinggi.


Sistem Multitasking
Sistem Multitasking adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk melakukan pemrosesan beberapa tugas dalam waktu yang bersamaan.Pada sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut. 



Gambaran Tentang Multitasking

Multitasking bertugas memjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Sebagai contoh, jika seseorang sedang menyetir, bertelepon lewat ponsel, dan sambil merokok secara bersamaan, maka orang tersebut melakukan multitasking.Saat ini, berbagai software sistem operasi sudah memiliki kemampuan multitasking. Itulah sebabnya, saat ini kita bisa browsing, chatting, sambil mendengarkan musik secara bersamaan.

Sistem Uni Programming
Sistem unit programming adalah suatu rangkaian yang di dalamnya  terdapat komponen-komponen elektronik dari komputer yang digunakan untuk memproses suatu data, penulisan, pengujian, perbaikan, dan pemeliharaan kode yang dibangun dalam suatu program komputer.

Sampai saat ini computer sudah banyak mengalami berbagai perubahan dari model awal computer tersebut, namun tetap pada arsitektur yang sama. Skema computer (computer schema), adalah diagram yang menggambarkan unit-unit dasar yang terdapat dalam semua sistem komputer.


Skema Komputer

Central processing unit (CPU) ialah yang mengendalikan semua unit sistem komputer yang lain dan mengubah input menjadi output. Primary storage (penyimpanan primer), berisi data yang sedang diolah dan program. Control unit (unit pengendali), membuat semua unit bekerja sama sebagai suatu sistem.Arithmatika and logical Unit, tempat berlangsungkan operasi perhitungan matematika dan logika. Unit Input,  memasukkan data ke dalam primary storage. Secondary storage  (penyimpanan sekunder),  menyedikan tempat untuk menyimpan program dan data saat tiak digunakan Unit Output, mencatat hasil pengolahan.

Sistem Komputasi Batch 



Sistem Komputasi batch adalah suatu rangkaian yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma pada sekelompok dokumen atau record data yang diproses sebagai satu kesatuan.

Batch processing adalah suatu model pengolahan data, dengan menghimpun data terlebih dahulu, dan diatur pengelompokkan datanya dalam kelompok-kelompok yang disebut batch. Tiap batch ditandai dengan identitas tertentu, serta informasi mengenai data-data yang terdapat dalam batch tersebut. Setelah data-data tersebut terkumpul dalam jumlah tertentu, data-data tersebut akan langsung diproses yaitu pemrosesan dilakukan setelah sejumlah data telah dikumpulkan dalam waktu dan tempat yang ditentukan. Bactch processing ini merupakan metoda pengolahan data yang banyak digunakan, dan merupakan cara terlama yang telah mapan dalam pengoperasian komputer.

Batch processing berasal dari kata batching atau pengelompokkan. misalnya permintaan, pembayaran, dan penjadwalan (timesheet), diakumulasi dalam suatu jangka waktu tertentu dan kemudian diproses dengan menggunakan komputer.Biaya yang diperlukan untuk proses batch processing ini relatif murah.
Contoh dari penggunaan batch processing adalah e-mail dan transaksi batchprocessing. Dalam suatu sistem batch processing, transaksi secara individualdientri melalui peralatan terminal, dilakukan validasi tertentu, danditambahkan ke transaction file yang berisi transaksi lain, dan kemudiandientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan untuk meng-up date master file yang berkaitan.

sumber : disini
Akses Input/Output

Alat yang digunakan untuk menerima masukkan data dan program yang akan diproses di dalam computer.Berfungsi sebagai media untuk memasukkan data dari luar ke dalam suatu memori dan processor untuk diolah guna menghasilkan informasi yang diperlukan. Input devices atau unit masukan yang umumnya digunakan personal computer (PC) adalah keyboard dan mouse, keyboard dan mouse adalah unit yang menghubungkan user (pengguna) dengan komputer. Selain itu terdapat joystick, yang biasa digunakan untuk bermain games atau permainan dengan komputer. Kemudian scanner, untuk mengambil gambar sebagai gambar digital yang nantinya dapat dimanipulasi. Touch panel, dengan menggunakan sentuhan jari user dapat melakukan suatu proses akses file. Microphone, untuk merekam suara ke dalam komputer. Berdasarkan sifatnya, peralatan input dapat digolongkan menjadi dua yaitu :

  • Peratalan input langsung, yaitu input yang dimasukkan langsung diproses oleh alat pemroses. Contohnya : keyboard, mouse, touch screen, light pen, digitizer graphics tablet, scanner.
  • Peralatan input tidak langsung, input yang melalui media tertentu sebelum suatu input diproses oleh alat pemroses. Contohnya : punched card, disket, harddisk.

Output device bisa diartikan sebagai peralatan yang berfungsi untuk mengeluarkan hasil pemrosesan ataupun pengolahan data yang berasal dari CPU kedalam suatu media yang dapat dibaca oleh manusia ataupun dapat digunakan untuk penyimpanan data hasil proses. Jenis dan media dari output device yang dimiliki oleh komputer cukup banyak. Output yang dihasilkan dari pengolahan data dapat digolongkan ke dalam empat macam bentuk sebagai berikut :


  • Tulisan
  • Image
  • Suara

Bentuk yang dapat dibaca oleh mesin (machine-readable form).
Tiga golongan pertama merupakan output yang digunakan langsung oleh manusia Unit keluaran antara lain terdiri atas: monitor, printer, plotter, dan speaker

sumber :disini
Single Precision

Format tunggal-presisi floating-point format angka komputer yang menempati 4 byte (32 bit) dalam memori komputer dan merupakan dynamic range yang lebar dari nilai-nilai dengan menggunakan floating point.

Dalam IEEE 754-2008 basis 2 format 32-bit secara resmi disebut sebagai binary32. Itu disebut tunggal dalam IEEE 754-1985. Pada komputer lama, format floating-point lain dari 4 byte yang digunakan.

Salah satu bahasa pemrograman pertama yang menyediakan tipe data tunggal dan double-presisi floating-point adalah Fortran. Sebelum adopsi IEEE 754-1985, representasi dan sifat ganda tipe data float tergantung pada produsen komputer dan model komputer.

Single-presisi biner floating-point digunakan karena jangkauan luas atas titik tetap (yang sama-bit lebar), bahkan jika pada biaya presisi.

Presisi tunggal dikenal sebagai nyata dalam Fortran, [1] sebagai pelampung di C, C + +, C #, Java [2] dan Haskell, dan sebagai single di Delphi (Pascal), Visual Basic, dan MATLAB. Namun, mengambang di Python, Ruby, PHP, dan OCaml dan satu di versi Oktaf sebelum 3.2 merujuk pada nomor presisi ganda. Dalam PostScript hanya presisi floating-point tunggal.
Dalam contoh ini:

\ text {} tanda = 0
1 + \ sum_ {i = 1} ^ {23} b_ {23}-i 2 ^ {-i} = 1 + 2 ^ {-2} = 1,25
2 ^ {(e-127)} = 2 ^ {} 124-127 = 2 ^ {-3}

demikian:

\ text {value} = 1,25 \ kali 2 ^ {-3} = 0,15625

Double Precision

Dalam komputasi, presisi ganda adalah format nomor komputer yang menempati dua lokasi penyimpanan yang berdekatan dalam memori komputer. Sejumlah presisi ganda, kadang-kadang hanya disebut ganda, dapat didefinisikan sebagai integer, titik tetap, atau floating point (dalam hal ini sering disebut sebagai FP64).

Komputer modern dengan lokasi penyimpanan 32-bit menggunakan dua lokasi memori untuk menyimpan nomor presisi ganda 64-bit (lokasi penyimpanan tunggal dapat menampung sejumlah presisi tunggal). Presisi ganda floating-point merupakan standar IEEE 754 untuk pengkodean biner atau desimal angka floating-point 64 bit (8 byte).
The presisi ganda biner eksponen floating-point dikodekan menggunakan representasi offset-biner, dengan offset nol menjadi 1023, juga dikenal sebagai Bias eksponen dalam standar IEEE 754. Contoh representasi tersebut akan menjadi:

Emin (1) = -1.022
E (50) = -973
Emax (2046) = 1023

Dengan demikian, seperti yang didefinisikan oleh representasi offset-biner, untuk mendapatkan eksponen benar bias eksponen 1023 harus dikurangkan dari eksponen tertulis.

Para eksponen 00016 dan 7ff16 memiliki arti khusus:

00016 digunakan untuk mewakili nol (jika M = 0) dan subnormals (jika M ≠ 0), dan
7ff16 digunakan untuk mewakili ∞ (jika M = 0) dan NaN (jika M ≠ 0),

di mana M adalah mantissa fraksi. Semua pola bit encoding yang valid.

Kecuali untuk pengecualian atas, jumlah presisi ganda seluruh digambarkan oleh:

(-1) ^ {\ Text {tanda}} \ kali 2 ^ {\ text {} eksponen - \ text {eksponen Bias}} \ kali 1 \ text {} mantissa.

sumber : disini

Shell
Shell adalah salah satu jenis program bawaan sistem operasi (seringnya merupakan program yang terpisah dari inti sistem operasi) yang menyediakan komunikasi langsung antara pengguna dan sistem operasi. Program yang menerima masukan berupa perintah ke sistem dan menerjemahkan menjadi aktifitas sistem computer. Jenis-jenis shell:
BASH (Bourne Again Shell)
KHS (Korn Shell)
TCSH

Batch
Batch file atau bisa juga disebut Batch programs atau script adalah file teks yang berisi serangkaian perintah yang dimaksudkan untuk dieksekusi oleh command interpreter, command interpreter sendiri adalah sebuah program komputer yang membaca baris teks yang dimasukkan oleh user dan menafsirkan baris dan teks tadi dalam konteks yang diberikan sistem operasi atau bahasa pemrograman. Secara sederhana dapat dikatakan bahwa Batch File mempermudah pekerjaan yang memburuhkan pengulangan atau rutinitas tertentu dengan memungkinkan user membuat batch script untuk mengotomatisasi banyak perintah. Ketika batch file dijalankan, shell program (biasanya COMMAND.COM atau cmd.exe ) membaca file dan mengeksekusi perintahnya, biasanya baris per baris.

Kernel
Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.

Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.

Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan di atas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.

Console 
Komputer personal (PC) merupakan sebuah sistem. Informasi mengenai sistem ini bisa diakses, ditampilkan serta disetel. Perangkat penampilnya berupa layar monitor, sedangkan penyetelan bisa dilakukan melalui keyboard.

Keyboard dikatakan sebagai text entry bagi informasi sistem PC, karena umumnya setelan ini berupa pilihan-pilihan yang tersedia dalam menu teks. Dari sinilah kita bisa katakan bahwa System Console sebagai text entry dan perangkat penampil informasi mengenai sistem yang ada didalam sebuah komputer.

Secara terpisah informasi mengenai sistem didalam komputer sebagian diantaranya berasal dari BIOS dan Kernel.

sumber : 1 dan 2

Minggu, 16 Juni 2013

Fungsi dasar komputer adalah eksekusi program. CPU melakukan tugas ini dengan cara eksekusi suatu program.

Proses eksekusi program adalah dengan mengambil pengolahan instruksi yang terdiri dari 2 langkah : 
  1. Instruksi baca (fetch) CPU dari memori
  2. CPU mengeksekusi setiap instruksi
Eksekusi program terdiri dari :
  1.  Proses pengulangan fetch
  2.  Eksekusi instruksi
Eksekusi sebuah instruksi terdiri dari sejumlah langkah, pada tahap ini pengolahan instruksi dibagi 2 tahap :
  1. Fetch
  2. Eksekusi
Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program Counter (PC).
PC akan menambah satu hitungannya setiap kali CPU membaca instruksi .
Instruksi – instruksi yang dibaca akan dibuat dalam register instruksi (IR).
Instruksi – instruksi ini dalambentuk kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan aksi yang diperlukan:
  • Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
  • Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
  • Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  • Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori
Fetch instruksi adalah operasi umum bagi setiap instruksi dan terdiri dari pembacaan instruksi dari suatu lokasi didalam memori.
Eksekusi instruksi dapat melibatkan sejumlah operasi dan tergantung dari sifat-sifat instruksi.
Eksekusi program akan terhenti apabila :
  1. Mesin dimatikan
  2. Terjadi kesalahan
  3. Terdapat instruksi program yang menghentikan komputer.
Berdasarkan instruksi, CPU mengeluarkan sinyal kendali untuk memfetch operand lainnya jika diperlukan dan kemudian akan melaksanakan salah satu tindakan berikut ini :
  1. Melakukan operasi aritmatika atau logika
  2. Menyimpan sebuah hasil ke dalam memori
  3. Membaca sebuah hasil dari atau menuliskan hasil ke perangkat I
Sumber :http://a114308201005201.blogspot.com/2011/11/siklus-eksekusi-program.html
CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah.

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di MAA (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

CPU dalam mengeksekusi suatu instruksi dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksanakan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi./O


sumber : http://athanasiustrilasto.blogspot.com/2013/06/etika-instruksi-didalam-pemrosesan.html
Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berujut suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek, kejadian ataupun suatu konsep.

Informasi merupakan hasil pengolahan dari sebuah model, formasi, organisasi, ataupun suatu perubahan bentuk dari data yang memiliki nilai tertentu, dan bisa digunakan untuk menambah pengetahuan bagi yang menerimanya. Dalam hal ini, data bisa dianggap sebagai obyek dan informasi adalah suatu subyek yang bermanfaat bagi penerimanya. Informasi juga bisa disebut sebagai hasil pengolahan ataupun pemrosesan data.

sumber : http://ardiaspuris60v2.blogspot.com/2012/12/perbedaan-data-dan-informasi.html
Subscribe to RSS Feed Follow me on Twitter!