on Wednesday, December 5, 2012
Assalamualaikum Wr Wb...


1. Model ER



2.  Transformasi ER-D ke Relasi


3. Relasi



Assalamualaikum Wr Wb...

1. Model ER


2.  Transformasi ER-D ke Relasi


3. Relasi


4. basis data



on Wednesday, November 7, 2012

Tugas Rekayasa Perangkat Lunak : Sistem perpustakaan barang

Assalamualaikum Wr Wb...


Pembuatan DFD sistem informasi penerimaan mahasiswa baru di STMIK Swadharma :
  1. Diagram Konteks
  2. Diagram Zero
  3. Diagram Rinci
Berikut adalah gambar masing-masing diagram tersebut :

1.

2. 

3. 



Tugas Rekayasa Perangkat Lunak : SISTEM INFORMASI KEUANGAN PRIBADI

Assalamualaikum Wr Wb...


Pembuatan DFD sistem informasi penerimaan mahasiswa baru di STMIK Swadharma :
  1. Diagram Konteks
  2. Diagram Zero
  3. Diagram Rinci
Berikut adalah gambar masing-masing diagram tersebut :

1.

2.
3. 



Tugas Rekayasa Perangkat Lunak : Sistem penjualan barang

Assalamualaikum Wr Wb...


Pembuatan DFD sistem informasi penerimaan mahasiswa baru di STMIK Swadharma :
  1. ERD
  2. Diagram Konteks Dan Diagram Zero
  3. Diagram Rinci
Berikut adalah gambar masing-masing diagram tersebut :

 1. 


2.
3. 

4.




on Thursday, October 11, 2012
Tutorial Android : Contoh CRUD Sederhana Dengan Database SQLite di Android

Nah, ngomong-ngomong tentang android, kemarin saya iseng-iseng membuat sebuah class sederhana untuk menangani CRUD pada database SQLite di android. Method yang saya gunakan cukup sederhana, saya mengikuti standarisasi yang ada di developer.android.com. Lumayan tuh class’nya, untuk rekan-rekan yang kebetulan juga sedang mengambil TA atau skripsi tentang android :ngakaks:. Berikut potongan kode classnya :
SqliteManager.java
 public class SqliteManager {
 public static final int VERSI_DATABASE= 1;
 public static final String NAMA_DATABASE = "dbCrudSqlite";
 public static final String NAMA_TABEL = "tbAgenda";

 public static final String FIELD_ID = "_id";
 public static final int POSISI_ID = 0;
 public static final String FIELD_JUDUL = "judul";
 public static final int POSISI_JUDUL = 1;
 public static final String FIELD_DESKRIPSI = "deskripsi";
 public static final int POSISI_DESKRIPSI = 2;
 public static final String FIELD_WAKTU = "waktu";
 public static final int POSISI_WAKTU = 3;

 public static final String[] FIELD_TABEL ={ SqliteManager.FIELD_ID, SqliteManager.FIELD_JUDUL, SqliteManager.FIELD_DESKRIPSI, SqliteManager.FIELD_WAKTU };

 private Context crudContext;
 private SQLiteDatabase crudDatabase;
 private SqliteManagerHelper crudHelper;

 private static class SqliteManagerHelper extends SQLiteOpenHelper {
  private static final String BUAT_TABEL =
   "create table " + NAMA_TABEL + " (" +
   SqliteManager.FIELD_ID + " integer primary key autoincrement, " +
   SqliteManager.FIELD_JUDUL + " text not null, " +
   SqliteManager.FIELD_DESKRIPSI + " text not null," +
   SqliteManager.FIELD_WAKTU + " text not null " +
   ");";

  public SqliteManagerHelper(Context context) {
   super(context, NAMA_DATABASE, null, VERSI_DATABASE);
  }

  @Override
  public void onCreate(SQLiteDatabase database) {
   database.execSQL(BUAT_TABEL);
  }

  @Override
  public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}
 }

 public SqliteManager(Context context) {
  crudContext = context;
 }

 public void bukaKoneksi() throws SQLException {
  crudHelper = new SqliteManagerHelper(crudContext);
  crudDatabase = crudHelper.getWritableDatabase();
 }

 public void tutupKoneksi() {
  crudHelper.close();
  crudHelper = null;
  crudDatabase = null;
 }

 public long insertData(ContentValues values) {
  return crudDatabase.insert(NAMA_TABEL, null, values);
 }

 public boolean updateData(long rowId, ContentValues values) {
  return crudDatabase.update(NAMA_TABEL, values,
    SqliteManager.FIELD_ID + "=" + rowId, null) > 0;
 }

 public boolean hapusData(long rowId) {
  return crudDatabase.delete(NAMA_TABEL,
    SqliteManager.FIELD_ID + "=" + rowId, null) > 0;
 }

 public Cursor bacaData() {
  return crudDatabase.query(NAMA_TABEL,FIELD_TABEL,null, null, null, null,SqliteManager.FIELD_JUDUL + " DESC");
 }

 public Cursor bacaDataTerseleksi(long rowId) throws SQLException {
  Cursor cursor = crudDatabase.query(true, NAMA_TABEL,FIELD_TABEL,FIELD_ID + "=" + rowId,null, null, null, null, null);
  cursor.moveToFirst();
  return cursor;
 }

 public ContentValues ambilData(String tempat, String lat, String lng) {
  ContentValues values = new ContentValues();
  values.put(SqliteManager.FIELD_JUDUL, tempat);
  values.put(SqliteManager.FIELD_DESKRIPSI, lat);
  values.put(SqliteManager.FIELD_WAKTU, lng);
  return values;
 }
}
Class SqliteManager di atas akan kita panggil dari sebuah activity. Data yang ada di dalam database sqlite ditampilkan ke dalam listview. Untuk menambah menu, form tambah menu bisa diakses dengan menekan tombol menu. Dan jika ingin melakukan edit atau hapus data, bisa diakses dengan melakukan tap pada salah satu list, maka akan muncul 2 pilihan (edit dan hapus). CrudSqliteActivity.java
 public class CrudSqliteActivity extends ListActivity {
 private SqliteManager sqliteDB;
 private SimpleCursorAdapter mCursorAdapter;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);
        sqliteDB = new SqliteManager(this);
        sqliteDB.bukaKoneksi();

  Cursor cursor = sqliteDB.bacaData();

  startManagingCursor(cursor);

  String[] awal = new String[] { SqliteManager.FIELD_JUDUL };
  int[] tujuan = new int[] { R.id.rowtext };
  mCursorAdapter = new SimpleCursorAdapter(this, R.layout.baris, cursor, awal, tujuan);

  mCursorAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
   public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
    if (columnIndex == SqliteManager.POSISI_ID) {
     TextView textView = (TextView) view;
      textView.setText("");
     return true;
       }
       return false;
   }
   });

  setListAdapter(mCursorAdapter);
  registerForContextMenu(getListView());

    }

 @Override
 protected void onDestroy() {
  super.onDestroy();
  sqliteDB.tutupKoneksi();
 }

    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.opt_menu, menu);
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
         case R.id.tambah:
          Intent intent = new Intent(this, SimpanActivity.class);
          intent.putExtra("judul", "");
          intent.putExtra("deskripsi", "");
          intent.putExtra("waktu", "");
          startActivity(intent);
          return true;
         default:
          return super.onOptionsItemSelected(item);
        }
    }

 @Override
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
  super.onCreateContextMenu(menu, v, menuInfo);
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.list_menu, menu);
 }

 @Override
 public boolean onContextItemSelected(MenuItem item) {
  AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
  switch (item.getItemId()) {
   case R.id.menu_edit:
    startDetail(info.id, false);
    return true;

   case R.id.menu_delete:
    hapus(info.id);
    return true;
   default:
    return super.onContextItemSelected(item);
  }
 }

    public void hapus(long rowId) {
     sqliteDB.hapusData(rowId);
  mCursorAdapter.getCursor().requery();
    }

 public static final String EXTRA_ROWID = "rowid";

 @Override
 protected void onListItemClick(ListView l, View v, int position, long rowId) {
  super.onListItemClick(l, v, position, rowId);
  tampilTempatTerseleksi(rowId);

 }

 public void tampilTempatTerseleksi(Long mRowId) {
  Cursor cursor = sqliteDB.bacaDataTerseleksi(mRowId);
  Intent intent = new Intent(this, DetailActivity.class);
  intent.putExtra("judul", cursor.getString(SqliteManager.POSISI_JUDUL));
  intent.putExtra("deskripsi", cursor.getString(SqliteManager.POSISI_DESKRIPSI));
  intent.putExtra("waktu", cursor.getString(SqliteManager.POSISI_WAKTU));
  startActivity(intent);

 }

 public void startDetail(long rowId, boolean baru) {
  Intent intent = new Intent(this, SimpanActivity.class);
  if (!baru) {
   intent.putExtra(EXTRA_ROWID, rowId);
  }
  startActivity(intent);
 }
}
SimpanActivity.java
public class SimpanActivity extends Activity {
 private SqliteManager sqliteDB;
 private Long id;

 private EditText teks_judul;
 private EditText teks_deskripsi;
 private EditText teks_waktu;
 String judul,deskripsi,waktu;

 public static final String SIMPAN_DATA = "simpan";

 @Override
 protected void onCreate(Bundle bundle) {
  super.onCreate(bundle);

  setContentView(R.layout.simpan);

  teks_judul = (EditText) findViewById(R.id.edit_judul);
  teks_deskripsi = (EditText) findViewById(R.id.edit_deskripsi);
  teks_waktu = (EditText) findViewById(R.id.edit_waktu);

  id = null;

  if (bundle == null) {
   Bundle extras = getIntent().getExtras();
   if (extras != null && extras.containsKey(CrudSqliteActivity.EXTRA_ROWID)) {
    id = extras.getLong(CrudSqliteActivity.EXTRA_ROWID);
   }
   else
   {
    judul = extras.getString("judul");
    deskripsi = extras.getString("deskripsi");
    waktu = extras.getString("waktu");
    teks_judul.setText(judul);
    teks_deskripsi.setText(deskripsi);
    teks_waktu.setText(waktu);
   }
  }

  sqliteDB = new SqliteManager(this);
  sqliteDB.bukaKoneksi();

  pindahData();

  Button button = (Button) findViewById(R.id.btn_simpan);
  button.setOnClickListener(new View.OnClickListener() {
   public void onClick(View view) {
    simpan();
    finish();
   }
  });

 }

 @Override
 protected void onDestroy() {
  super.onDestroy();
  sqliteDB.tutupKoneksi();
 }

 private void pindahData() {
  if (id != null) {
   Cursor cursor = sqliteDB.bacaDataTerseleksi(id);
   teks_judul.setText(cursor.getString(SqliteManager.POSISI_JUDUL));
   teks_deskripsi.setText(cursor.getString(SqliteManager.POSISI_DESKRIPSI));
   teks_waktu.setText(cursor.getString(SqliteManager.POSISI_WAKTU));
   cursor.close();
  }
 }

 private void simpan() {
  String judul = teks_judul.getText().toString();
  String deskripsi = teks_deskripsi.getText().toString();
  String waktu = teks_waktu.getText().toString();

  if (id != null) {
   sqliteDB.updateData(id, sqliteDB.ambilData(judul, deskripsi, waktu));
  }
  else {
   id = sqliteDB.insertData(sqliteDB.ambilData(judul, deskripsi, waktu));
  }
 }

 protected void onSaveInstanceState(Bundle outState) {
  super.onSaveInstanceState(outState);
  outState.putLong(SIMPAN_DATA, id);
 }
}