Pelajaran Hidup

Inspirasi dari sebuah pengalaman dan pelajaran hidup..Semua butuh sebuah pembelajaran

Contoh ERD untuk Elearning






























Keterangan :

Banyak siswa bisa mengambil materi sehingga relasi many to one.

Siswa bisa mengerjakan banyak soal dan 1 soal bisa dikerjakan banyak siswa sehingga relasi many to many.

Guru bisa menyusun banyak materi sehingga one to many.

Guru bisa membuat banyak soal sehingga relasi one to many.

kalau kurang jelas download disini

Load file PHP dalam 1 file

Agar file file yang dipanggil ada di index.php dan tidak ganti halaman maka file

index.php , diubah (tempat sebelah kanan)

<?php

if ($_GET['a']=="welcome" || $_GET['a']==""){

include('welcome.php');

}

elseif ($_GET['a']=="tambah_login"){

include('tambah_login.php');

}

?>


Cuplikan Script index.php :

<tr>

<td valign="top" bg height="200"><font >

<a href="index.php?c=home">&nbsp;Home</a></font><br><font face="Calibri">

<a href="index.php?c=profile">&nbsp;Profile</a></font></td>

<td colspan="2" valign="top">&nbsp;&nbsp;

<?php

if($_GET['c']=="home" || $_GET['c']==""){

include "home.php";

}

elseif($_GET['c']=="profile"){

include "profile.php";

}

?>


</td>

</tr>


Keterangan :

Tulisan <a href="index.php?c=home">&nbsp;Home</a> : link ke home.php

Tulisan <a href="index.php?c=profile">&nbsp;Profile</a> : link ke profile.php

Tulisan :

<?php

if($_GET['c']=="home" || $_GET['c']==""){

include "home.php";

}

elseif($_GET['c']=="profile"){

include "profile.php";

}

?>


File yang akan dipanggil


Download ebook..klik disini

Pemrograman web sisi server

Pemrograman web sisi server :
-Dieksekusi di server
-Script tidak terlihat oleh pengguna
-Biasanya melibatkan database

Kelebihan Utama:
-Dapat merespon permintaan user secara fleksibel
-Dapat mengelola hak akses user
-Dapat melakukan query terhadap data yang tersimpan

Jenis web server yang biasa digunakan :
-Apache (multi platform)
-Microsoft Internet Information Service (IIS)
-Sun Java Web Server

Contoh aplikasi web yang dibuat untuk mengelola data buku. Aplikasi ini dibuat dengan pemrograman server site dan database MYSQL.
1. Merancang tabel buku
create table buku (id_buku varchar(10) primary key, judul varchar(30), pengarang varchar(30), halaman(10));

2. Koneksi database

<?php

mysql_connect(“localhost”,”root”,””);

mysql_select_db(“buku”);

?>


3. Perintah untuk menampilkan interface input data buku

<form method="post" action="simpan.php">

<table width="400" border="0">

<tr>

<td colspan="3" align="center">INPUT DATA BUKU</td>

</tr>

<tr>

<td width="157">ID BUKU</td>

<td width="17">:</td>

<td width="212"><input name="id_buku" type="text" id="id_buku"></td>

</tr>

<tr>

<td>JUDUL BUKU</td>

<td>:</td>

<td><input type="text" name="judul" id="judul"></td>

</tr>

<tr>

<td>PENGARANG</td>

<td>:</td>

<td><input type="text" name="pengarang" id="pengarang"></td>

</tr>

<tr>

<td>JML HALAMAN</td>

<td>:</td>

<td><input type="text" name="halaman" id="halaman"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>&nbsp;</td>

<td><label>

<input type="submit" name="button" id="button" value="simpan">

</label></td>

</tr>

</table>

</form>


4. Perintah untuk menyimpan inputan di database

<?

include "koneksi.php";

$query = mysql_query("insert into buku (id_buku,judul,pengarang,halaman) values (‘$id_buku','$judul','$pengarang', ‘$halaman’)");

if($query){

echo "Data Telah Tersimpan";

} else {

echo "Data Gagal disimpan” <input type=button value=BACK OnClick=self.history.back();></h3>";

}

?>

Script Edit di PHP

Mengedit data dengan php

Contoh mengedit data anggota ;

<form id="form1" name="form1" method="post" action="edit_angg_reg.php">

<font face="Calibri" size="5"><center>Edit Anggota</center></font>

<?

session_start();

include("koneksi.php");

$no=$HTTP_GET_VARS['no'];

$query_string="select * from peminjam where no='$no'";

$query=mysql_query($query_string);

$record=mysql_fetch_array($query);

?>

<input name="no" type="hidden" id="no" value="<? echo $record['no'];?>" />

<table width="530" border="0">

<tr>

<td width="91" align="left" valign="top"><font face="Calibri"> Nama </font></td>

<td width="12" align="center" valign="top"><font face="Calibri">:</font></td>

<td width="275" align="left" valign="top"><label>

<input name="nama" type="text" id="nama" value="<? echo $record['nama'];?>" size="30" />

</label></td>

</tr>

<tr>

<td width="91" align="left" valign="top"><font face="Calibri"> NIM / NoKTP </font></td>

<td width="12" align="center" valign="top"><font face="Calibri">:</font></td>

<td width="275" align="left" valign="top"><label>

<input name="nim" type="text" id="nim" value="<? echo $record['nim'];?>" size="30" />

</label></td>

</tr>

<tr>

<td width="91" align="left" valign="top"><font face="Calibri"> Alamat </font></td>

<td width="12" align="center" valign="top"><font face="Calibri">:</font></td>

<td width="275" align="left" valign="top"><label>

<input name="alamat" type="text" id="alamat" value="<? echo $record['alamat'];?>" size="30" />

</label></td>

</tr>

<tr>

<td width="91" align="left" valign="top"><font face="Calibri"> No Telp </font></td>

<td width="12" align="center" valign="top"><font face="Calibri">:</font></td>

<td width="275" align="left" valign="top"><label>

<input name="hp" type="text" id="hp" value="<? echo $record['hp'];?>" size="30" />

</label></td>

</tr>



<td>&nbsp;</td>

<td>&nbsp;</td>

<td><label>

<input type="submit" name="Submit" value="SIMPAN" />

<input type="reset" name="Submit2" value="BATAL" />

</label></td>

</tr>

</table>

<p>&nbsp; </p>

</form>



Edit_anggota_reg.php

<?

session_start();

include ("koneksi.php");

$nama=$HTTP_POST_VARS['nama'];

$nim=$HTTP_POST_VARS['nim'];

$alamat=$HTTP_POST_VARS['alamat'];

$hp=$HTTP_POST_VARS['hp'];

mysql_query("update peminjam set nama='$nama',nim='$nim',alamat='$alamat',hp='$hp' where no='$no'");

header ("location:main.php?a=lihatp");

?>




download disini

Contoh Web dengan CSS






















CSSnya :
/* CSS Document
body {
text-align:center;
background-color:#828282;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
padding:0;
width:100%;

}
#wrap {
width:900px;
height:auto;
margin:auto;
padding:0px;
}

#header {
width:900px;
height:255px;
margin:auto;
background:url(IMG/headernew.jpg) no-repeat;
}

a {
font-family:Calibri;
color:#000000;
text-decoration: none;
}
a:hover {
font-family:Calibri;
color:#ffffff;
}
a:active {
font-family:Calibri;
color:#ffffff;
}
#menua a {
color:#333333;
padding-left:5px;

}

#menu {
font-size:15px;
font-family:Calibri;
padding-top: 10px;
padding-left: 180px;
}

.menu_nav {
width:400px;
height:30px;
float:left;
font-family:Arial, Helvetica, sans-serif;
margin:auto;
padding:190px 0 0 20px;
}
.menu_nav ul {
list-style:none;
}
.menu_nav ul li {
margin:0;
padding:0 5px 0 0;
float:left;
background:no-repeat right center;
}
.menu_nav ul li a {
display:block;
margin:0;
padding:13px 11px 11px 13px;
color:#ffffff;
text-decoration:none;
font-family:Calibri;
font-size:15px;
background-color:#0C4F6A;
}
.menu_nav ul li.active a, .menu_nav ul li a:hover {
background-color:#0C4F6A;
color:#44b2ef
}



#content {
width:880px;
height:480px;
padding:10px 10px 10px 10px;
background:url(images/center_bg.gif) repeat-x top #FFFFFF;
}

#kmenu{
width:220px;
background-color:#EDECEC;
float:left;
text-align:top;
padding-left: 10px;
height:auto;
border:1px solid #d8dbdc;
padding-right:10px;
}

#k_menu {
width: 200px;
margin-bottom: 0px;
}

.templatemo_list { margin: 0; padding: 0; list-style: none; text-align:left; font-family:Calibri; font-size:14px;}
.templatemo_list li { margin: 0; padding: 0; }
.templatemo_list li a { display: block; padding: 5px 0 5px 5px; text-decoration: none; border-bottom: 1px solid #ffffff; }

#k_menudalam{
float: left;
width: 220px;
padding: 0px 0px;
}
#k_menujeda{
float: left;
width: 220px;
height:20px;
}
#k_menujedaa{
float: left;
width: 220px;
height:32px;
}
#k_menujeddaa{
float: left;
width: 220px;
height:28px;
}
#isi {
margin:0 ;
width:600px;
height:470px;
border:1px solid #d8dbdc;
float:right;
padding-top:10px; padding-left:10px;padding-right:10px;
}

#footer {
width:900px;
height:90px;
background-image:url(IMG/foot.jpg);
padding:10px 0px 0px 0px;
font-family:Calibri;
font-size:13px;
color:#FFFFFF;
}
*/

Seni Tipografi, yaitu karya atau desain yang menggunakan pengaturan huruf sebagai elemen utama. Dalam seni tipografi, pengertian huruf sebagai lambing bunyi bias diabaikan. Seni merupakan induk dari desain grafis.

Tipografi : seni huruf, meliputi pemilihan huruf, penentuan ukuran yang tepat, dimana teks dapat diputus, spasi jarak dan bagaimana teks dapat dengan mudah dibaca.

Jenis huruf secara garis besar :
1. Serif
- Jenis huruf yang mempunyai stroke
- Berkesan formal, elegan/intelektual, anggun dan konserpatif pada desain
- Cocok dipakai untuk organisasi, pemerintahan, pendidikan, perusahaan
- Cocok dipakai untuk teks yang panjang dengan jarak spasi yang sedikit

2. Sans-serif
- Jenis huruf yang tidak memiliki stroke, ujungnya dapat bentuk tumpul atau tajam. Contoh : arial, verdana, dll

3. Dekoratif
- Jenis huruf yang mempunyai desain rumit, sesuatu yang baru. Contoh : stencil, crackling, dll

4. Skrip
- Jenis huruf yang menyerupai tulisan tangan, sering disebut kursif (cursive). Contoh : brush script, larissa, dll

5. Monospace
- Jenis huruf yang mempunyai jarak dan lebar yang sama untuk setiap hurufnya. Contoh : monospace, courirer new, dll

Whitespace : bagian pada halaman website yang tidak mengandung konten di dalamnya, manfaatnya bagian ini untuk memisahkan area konten.

Slicing : teknik memecah atau memotong gambar pada website. Teknik ini digunakan untuk membuat gambar atau desain suatu web lebih fleksibel, cepat dan menarik.
Software yang bisa digunakan antara lain : adobe photoshop, adobe ilustrator, dll

Metode yang dapat digunakan untuk memecah gambar :
-Crop tool
contoh :














-Slice tool
contoh :













Referensi :
Materi kuliah pemrograman web(2011),UAD
http://rumahdot.com

Perintah-perintah di MySQL

DDL(Data Definition Language) yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri.
Misal : create, drop, alter

DDL memiliki fungsi untuk melakukan hal-hal berikut :
1. Membuat atau menghapus database
2. Membuat atau menghapus tabel
3. Memodifikasi tabel
4. Menciptakan integritas referensial
5. Menciptakan indeks

Perintah-perintah di MySQL

Membuat database :
create database ;
contoh : create database achicha;

Menampilkan database yang ada dimysql :
show databases;

Menampilkan tabel yang telah dibuat :
show tables;

Menggunakan database :
use ;
contoh : use achicha;

Menghapus database :
drop ;
contoh : drop achicha;

Membuat tabel baru :
create table (nama_kolom );
contoh : create table mahasiswa(nim char(10) NOT NULL PRIMARY KEY, nama char(20), alamat char(30), TTL DATE);

Keterangan :
PRIMARY KEY adalah kunci utama
NOT NULL artinya setiap kolom tidak boleh kosong, sedangkan jika diisikan untuk dikosongkan dapat menggunakan parameter NULL

Melihat struktur tabel :
desc ;
contoh : desc mahasiswa;

Mengubah struktur tabel :
alter table [spesifikasi perubahan]

Menambah kolom baru dalam tabel tertentu, parameter yang digunakan adalah ADD.
alter table nama_table ADD kolom_baru tipe(panjang) [first | after kolom_lama];
contoh : alter table mahasiswa ADD telepon char(12) after alamat;

Mengubah nama kolom tertentu, parameter yang digunakan adalah CHANGE
after table nama_table CHANGE kolom_lama kolom_baru tipe(panjang);
contoh : alter table mahasiswa CHANGE telepon telp char(15);

Mengubah nama tabel, parameter yang digunakan RENAME
alter table namatable_lama RENAME to namatable_baru;
contoh : alter table mahasiswa RENAME to mhs;

Menghapus tabel
drop nama_tabel;
contoh : drop mahasiswa;

Referensi :
Petunjuk Praktikum Basisdata(2011), UAD

Tugas Sistem Operasi tentang Android

SEJARAH ANDROID

Pada Juli 2005, Google mengakuisisi Android, Inc, sebuah perusahaan startup yang berbasis di Palo Alto, California, Amerika Serikat. Android’s co-pendiri yang pergi untuk bekerja di Google termasuk Andy Rubin (co-pendiri Danger, Rich Miner (co-pendiri Kebakaran liar Communications, Inc , Nick Sears (sekali VP di T-Mobile , dan Chris White (diketuai desain dan pengembangan antarmuka di webtv. Pada waktu itu, hanya sedikit yang diketahui tentang fungsi Android, Inc lain dari itu mereka membuat perangkat lunak untuk ponsel.Hal ini dimulai desas-desus bahwa Google berencana untuk memasuki pasar telepon seluler, meskipun tidak jelas apa fungsi itu mungkin tampil di pasar itu.
Di Google, tim yang dipimpin oleh Rubin mengembangkan platform perangkat mobile didukung oleh kernel Linux yang mereka dipasarkan ke produsen handset dan operator pada premis memberikan yang fleksibel, sistem upgradeable. Hal ini melaporkan bahwa Google telah berbaris serangkaian komponen perangkat keras dan perangkat lunak dan memberi isyarat untuk mitra operator itu terbuka untuk berbagai tingkat kerjasama pada pihak mereka.Lebih spekulasi bahwa Google akan memasuki pasar telepon seluler datang pada bulan Desember 2006 .Laporan dari BBC dan The Wall Street Journal mencatat bahwa Google ingin pencariannya dan aplikasi pada ponsel dan sudah bekerja keras untuk memberikan itu. Cetak dan media online segera melaporkan rumor bahwa Google sedang mengembangkan handset bermerek Google.Lebih spekulasi diikuti laporan bahwa Google telah menentukan spesifikasi teknis, ini menunjukkan prototipe untuk produsen ponsel dan operator jaringan.
Pada bulan September 2007, InformationWeek menutupi sebuah studi Evalueserve melaporkan bahwa Google telah mengajukan beberapa aplikasi paten di bidang telepon seluler.Akhirnya Google meluncurkan smartphone Nexus Salah satu yang menggunakan open source Android mobile sistem operasi. Perangkat ini diproduksi oleh Taiwan’s HTC Corporation, dan menjadi tersedia pada 5 Januari 2010.


KONSEP MANAJEMEN SISTEM ANDROID

















Dalam paket sistem operasi android tediri dari beberapa unsur seperti tampak pada gambar di bawah. Secara sederhana arsitektur android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang menyediakan dan mengatur alur proses aplikasi.[Google IO, Android Anatomy and Physiology].

MANAGEMEN PROSES PADA ANDROID
1.Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan.
2.Libraries
Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:
• Media Library untuk memutar dan merekam berbagai macam format audio dan video.
• Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
• Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D.
• SQLite untuk mengatur relasi database yang digunakan pada aplikasi.
SSl dan WebKit untuk browser dan keamanan internet.
• System C library —> diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux
Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit (NDK).
3.Android Runtime
Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya :
• Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android.
• Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas. [Nicolas Gramlich, Andbook, anddev.org].
4.Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut [Hello Android 2nd Edition]:
1)Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan.
2)Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
3)Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout.
4)Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada.
5)Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.
5.Application Layer
Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi.
Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.



MANAJEMEN MEMORI DI ANDROID

Pendahuluan Tentang Memori Android
Android
Android adalah software stack untuk perangkat mobile yang mencakup aplikasi sistem operasi, middleware dan kunci. The Android SDK menyediakan alat dan API diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.

Android Memori
Android adalah Linux berbasis OS dengan kernel 2.6.x, dipreteli untuk menangani tugas yang paling cukup baik. Menggunakan perpustakaan asli C open source yang memiliki mesin bertenaga Linux selama bertahun-tahun. Semua dasar OS operasi seperti I / O, manajemen memori, dan seterusnya, ditangani oleh kernel dilucuti-down Linux native.

Cara menggunakan memori untuk setiap aplikasi

Android proses dan manajemen memori adalah sedikit tidak biasa. Seperti Java dan. NET, Android menggunakan jalankan sendiri waktu dan mesin virtual untuk mengelola memori aplikasi. Tidak seperti salah satu dari kerangka kerja ini, saat menjalankan Android juga mengelola proses seumur hidup. Android memastikan respon aplikasi dengan menghentikan dan membunuh proses yang diperlukan untuk sumber daya gratis untuk aplikasi prioritas lebih tinggi.
Setiap aplikasi Android berjalan dalam proses yang terpisah dalam contoh Dalvik nya sendiri, melepaskan semua tanggung jawab untuk memori dan manajemen proses untuk waktu menjalankan Android, yang berhenti dan membunuh proses yang diperlukan untuk mengelola sumber daya.
Dalvik dan waktu menjalankan Android duduk di atas kernel Linux yang menangani tingkat rendah interaksi hardware termasuk driver dan manajemen memori, sementara satu set API menyediakan akses ke semua di bawah-berbaring, fitur hardware jasa, dan.
Dalvik Virtual Machine Dalvik adalah mesin virtual berbasis mendaftar yang telah dioptimalkan untuk memastikan bahwa perangkat dapat menjalankan beberapa contoh efisien. Hal ini bergantung pada kernel Linux untuk manajemen memori threading dan tingkat rendah.

Para Dalvik Virtual Machine
Salah satu elemen kunci dari Android adalah Dalvik mesin virtual. Daripada menggunakan mesin Jawa tradisional virtual (VM) seperti Java ME (Java Mobile Edition), Android menggunakan VM kustom yang dirancang untuk memastikan bahwa beberapa contoh berjalan efisien pada satu perangkat.
VM Dalvik menggunakan kernel Linux yang mendasari perangkat untuk menangani tingkat rendah fungsionalitas termasuk keamanan, threading, dan proses dan manajemen memori.
Semua hardware Android dan akses sistem pelayanan dikelola menggunakan Dalvik sebagai tingkat menengah. Dengan menggunakan VM untuk host eksekusi aplikasi, pengembang memiliki lapisan abstraksi yang memastikan mereka tidak perlu khawatir tentang implementasi hardware tertentu.
VM Dalvik mengeksekusi file executable Dalvik, sebuah format yang dioptimalkan untuk memastikan memori minimal kaki-cetak. Para Dex executable. Diciptakan dengan mengubah kelas bahasa Jawa disusun dengan menggunakan alat disediakan dalam SDK.

Understanding Aplikasi Prioritas dan Amerika Proses
Urutan di mana proses yang dibunuh untuk merebut kembali sumber daya ditentukan oleh prioritas aplikasi host. Prioritas aplikasi adalah sama dengan prioritas tertinggi komponen.
Dimana dua aplikasi memiliki prioritas yang sama, proses yang telah di prioritas yang lebih rendah terpanjang akan dibunuh lebih dulu. Prioritas proses juga dipengaruhi oleh interprocess dependensi, jika sebuah aplikasi memiliki ketergantungan pada Layanan atau Content Provider yang diberikan oleh aplikasi kedua, aplikasi sekunder akan memiliki minimal sebagai prioritas tinggi sebagai aplikasi mendukung.
Semua aplikasi Android akan tetap berjalan dan dalam memori sampai sistem kebutuhan sumber daya untuk aplikasi lain.

Sangat penting untuk struktur aplikasi Anda dengan benar untuk memastikan bahwa prioritas adalah sesuai untuk pekerjaan yang dilakukannya. Jika Anda tidak, aplikasi Anda bisa dibunuh sementara itu di tengah-tengah sesuatu yang penting.


Rincian daftar berikut masing-masing negara aplikasi yang ditunjukkan pada Gambar, menjelaskan bagaimana negara ditentukan oleh komponen aplikasi itu terdiri dari :

1) Proses Aktif (depan) proses adalah mereka aplikasi hosting dengan komponen ini berinteraksi dengan pengguna. Ini adalah proses Android berusaha untuk tetap responsif dengan reklamasi sumber daya. Ada umumnya sangat sedikit dari proses ini, dan mereka akan dibunuh hanya sebagai pilihan terakhir.




Proses aktif meliputi :
-Kegiatan dalam keadaan "aktif", yaitu, mereka berada di latar depan dan menanggapi peristiwa pengguna. Anda akan menjelajahi negara Aktivitas secara lebih rinci nanti dalam bab ini.
-Kegiatan, Jasa, atau Penerima Broadcast yang sedang mengeksekusi sebuah event handler onReceive.
-Jasa yang mengeksekusi sebuah onStart, OnCreate atau event handler onDestroy.

2)Proses Terlihat
Tetapi proses tidak aktif adalah mereka hosting "terlihat" Kegiatan.Seperti namanya, Kegiatan terlihat terlihat, tetapi mereka tidak di latar depan atau menanggapi peristiwa pengguna. Hal ini terjadi ketika sebuah Kegiatan hanya sebagian tertutup (oleh non-Kegiatan layar penuh atau transparan). Pada umumnya ada proses yang terlihat sangat sedikit, dan mereka hanya akan tewas dalam keadaan ekstrem untuk memungkinkan proses yang aktif untuk melanjutkan.

3)Proses Layanan Dimulai
Proses Layanan hosting yang telah dimulai. Layanan mendukung proses yang berkelanjutan yang harus terus tanpa antarmuka terlihat. Karena Layanan tidak berinteraksi langsung dengan pengguna, mereka menerima prioritas yang sedikit lebih rendah dari Kegiatan terlihat. Mereka masih dianggap proses latar depan dan tidak akan dibunuh kecuali jika sumber daya yang dibutuhkan untuk proses yang aktif atau terlihat.

4)Proses Latar Belakang
Proses hosting Aktivitas yang tidak terlihat dan yang tidak memiliki setiap Jasa yang telah mulai dianggap proses latar belakang. Umumnya akan ada sejumlah besar proses latar belakang bahwa Android akan membunuh menggunakan terakhir melihat-pertama-membunuh tepuk-tiga barang untuk mendapatkan sumber daya untuk proses latar depan.

5)Proses Kosong
Untuk meningkatkan kinerja sistem secara keseluruhan, Android sering mempertahankan aplikasi dalam memori setelah mereka telah mencapai akhir hidup mereka.Android mempertahankan cache ini untuk meningkatkan waktu start-up aplikasi ketika mereka kembali diluncurkan. Proses ini ROU-tinely dibunuh seperti yang diperlukan.

CARA MENGGUNAKAN MEMORI SECARA EFISIEN
Android mengelola aplikasi yang terbuka yang berjalan di latar belakang, sehingga resmi Anda tidak harus peduli tentang itu. Ini berarti bahwa menutup aplikasi ketika sistem kebutuhan lebih banyak memori. Namun, pengguna android yang paling tidak sangat puas dengan bagaimana melakukan hal-hal yang karena kadang-kadang meninggalkan terlalu banyak proses yang berjalan yang menyebabkan kelesuan 'dalam kinerja sehari-hari. Kita dapat menggunakan tugas manajer pembunuh / tugas maju dan ia melakukan pekerjaan yang sangat baik.



a.Penyimpanan Data
Fitur penting android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada [developer.android.com].
Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karenanya android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.
1. Activities
Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan.
Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada diatas akan aktif kembali.
Memory Manager android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.
Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi [Reto Meier, Profesional Android Application Development, Wiley Publishing, Canada, 2009] :

1)Active
Setiap activity yang berada ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara.
2)Paused,
Dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat active namun tidak dapat menerima masukkan dari pengguna. Dalam kasus ekstrim, android akan menghentikan activity dalam keadaan paused ini, untuk menunjang sumber daya bagi activity yang sedang aktif.
3)Stopped,
Ketika sebuah activity tidak terlihat, maka itulah yang disebut stopped. Activity akan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive.
4)Inactive,
Kondisi ketika activity telah dihentikan dan sebelum dijalankan. Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan kembali.
Kondisi transisi ini sepenuhnya ditangani oleh manajer memori android. Android akan memulai menutup aplikasi yang mengandung activity inactive, kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan di tutup.

2.Services
Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas. Komponen service diproses tidak terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak tampak.


3.Intents
Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut.
4.Broadcast Receivers
Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, Batre sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada perangkat. Sama halnya dengan service, Broadcast Receivers tidak menampilkan antarmuka pengguna. Namun, Broadcast Receivers dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada pengguna.
5.Content Providers
Content Providers digunakan untuk mengelola dan berbagi database. Data dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.

Tipe Aplikasi Android
Terdapat tiga kategori aplikasi pada android [Reto Meier, Profesional Android Application Development, Wiley Publishing, Canada, 2009] :
1. Foreground Activity
Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung dengan lancar.
2. Background Service
Aplikasi yang memiliki interaksi terbatas dengan user, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar. Contohnya aplikasi penyaringan panggilan atau sms auto respon.


3. Intermittent Activity
Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar musik.
Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori aplikasi yang sesuai.

Siklus Hidup Aplikasi Android
Siklus hidup aplikasi android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali.
Jika pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup. [Sayed . Y. Hashimi and Satya Komatineni, Pro Android, Apress, USA 2009]
Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil.


Soal mid SO

  1. Sistem Operasi sebagai 2 pengelola sumber daya yaitu Abstrak dan Fisik

  2. Sistem Operasi mulai mengenal LAN dan WAN pada generasi Network system

  3. Yang tidak termasuk Layanan Sistem Operasi ialah Pengaksesan user

  4. Sistem Operasi melindungi aplikasi dari koneksi langsung ke Perangkat keras

  5. Salah satu sasaran sistem operasi yaitu Mampu evolusi

  6. Dalam manajemen file, sistem operasi tidak mampu Mengalokasikan ruang kosong file

  7. Sistem call menjadi jembatan antara sistem operasi dan Proses

  8. Menyimpan parameter pada tabel dimemori, dan alamat tabel ditunjuk oleh pointer yang disimpan di register, merupakan cara dari Sistem Call

  9. Sistem operasi harus dikonfigurasi untuk dapat dijalankan ditiap computer, terdapat dalam Sistem Generation

  10. Menginstruksi program (code) yang dieksekusi secara berurut (sekwensial) sesuai dengan “line code”, terdapat dalam Proses

  11. Fungsi suspension adalah Mereduksi beban sistem selama beban puncak

  12. Tiga status proses yang bertautan dengan status running, kecuali New

  13. Dengan adanya suspension maka memori utama dapat dibebaskan dan dimanfaatkan oleh Proses lainnya

  14. Kepanjangan PCB adalah Process Control Block

  15. Setiap proses mempunyai tabel berikut, kecuali Tabel Sistem

  16. Pengalihan karena terjadinya kesalahan yang dihasilkan proses yang running disebut Trap

  17. Pengoptimalan dengan memaksimalkan jumlah proses yang selesai dijalankan disebut Throughput

  18. Yang termasuk jenis penjadwalan non preemptive yaitu Switch dari status running ke waiting

  19. Setiap proses mendapat jatah waktu dari CPU (quantum), termasuk algoritma penjadwalan Round Robin

  20. Source program (source code) diubah menjadi object module (object code) termasuk tahapan Kompilasi

  21. Yang termasuk alokasi memori tak berurutan adalah Paging

  22. Virtual alamat juga disebut Alamat logic

  23. Fungsi dari MMU adalah Memetakan alamat logic ke alamat fisik

  24. Mempunyai tabel proses maksimum dan minimum merupakan konsep Segmentasi

  25. Mengalokasikan proses pada blok pertama yang ditemui yang besarnya mencukupi, pengertian dari algoritma First-fit

Dasar-Dasar HTML

HTML (Hypertext Markup Language) merupakan standard bahasa yang digunakan untuk menampilkan dokumen web.
Yang bisa dilakukan oleh html :
1) Mengontrol tampilan dari web page dan contentnya
2) Mempublikasikan dokument secara online sehingga bisa diakses
3) Membuat online form yang bisa digunakan untuk menangani pendaftaran, transaksi secara online, dll
4) Menambahkan object-object seperti image, audio, video dan juga java applet dalam dokumen HTML
5) Membuat halaman web yang dapat dihubungkan dengan dokumen lain menggunakan link

Dokumen HTML memiliki file yang berekstensi .htm atau .html . Command Html biasanya disebut TAG.
TAG digunakan untuk menentukan tampilan dari dokumen HTML:

Sintaks Dasar :
Teks ini akan tampil


a. Perintah untuk membuat Heading
Heading terdiri dari H1 sampai H7
contoh :

INI MERUPAKAN HEADING


b. Perintah untuk membuat rata tengah
. . . .

c. Perintah untuk menampilkan gambar

Contoh :
Keterangan :
img src--> link gambar yang akan ditampilkan
width --> ukuran lebar gambar (dalam pixels)
height --> ukuran tinggi gambar (dalam pixels)

d. Perintah untuk membuat paragraph baru dengan rata kiri

. . . . .


e. Perintah untuk membuat paragraph baru dengan rata kanan

. . . . . .


f. Perintah untuk membuat tulisan miring
. . . .

g. Perintah untuk membuat list dan rumus
  • . . .
  • . . .

  • Membuat rumus perpangkatan :
    . . .

    contoh :
    • Air : H 2 O
    • Udara : O 2

    • referensi :
      Petunjuk praktikum pemrograman web, UAD, 2011

      Arsitektur Android


      Dalam paket sistem operasi android tediri dari beberapa unsur seperti tampak pada gambar di bawah. Secara sederhana arsitektur android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang menyediakan dan mengatur alur proses aplikasi.[Google IO, Android Anatomy and Physiology].

      1) Linux Kernel
      Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware.
      Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan software. Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat driver kamera yang memungkinkan pengguna mengirimkan perintah kepada hardware kamera.
      Pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan.

      2) Libraries
      Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework.
      Sebagai contoh Android mendukung pemutaran format audio, video, dan gambar.
      Berikut ini beberapa core library tersebut :
      o System C library
      diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux
      o Media Libraries
      berdasarkan PacketVideo's OpenCORE; library-library ini mendukun playback dan recording dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
      o Surface Manager
      mengatur akses pada display dan lapisan composites 2D and 3D graphic dari berbagai aplikasi
      o LibWebCore
      web browser engine modern yang mensupport Android browser maupun embeddable web view
      Library-library tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit (NDK).

      3) Android Runtime
      Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya:
      • Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android.
      • Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas. [Nicolas Gramlich, Andbook, anddev.org]

      4) Application Framework
      Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut [Hello Android 2nd Edition]:
      1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan.
      2. Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
      3. Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout.
      4. Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada.
      5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.

      5) Application Layer
      Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi.
      Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.

      Komponen Aplikasi
      Fitur penting android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada [developer.android.com].
      Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karenanya android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.

      1. Activities
      Activity merupakan bagian yang paling penting dalam sebuah aplikasi, karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi dijalankan.
      Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada diatas akan aktif kembali. Memory Manager android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.

      Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi [Reto Meier, Profesional Android Application Development, Wiley Publishing, Canada, 2009]:

      1) Active, setiap activity yang berada ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara.
      2) Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan paused, dia terlihat active namun tidak dapat menerima masukkan dari pengguna. Dalam kasus ekstrim, android akan menghentikan activity dalam keadaan paused ini, untuk menunjang sumber daya bagi activity yang sedang aktif.
      3) Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut stopped. Activity akan tetap berada dalam memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive.
      4) Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan. Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan kembali.
      Kondisi transisi ini sepenuhnya ditangani oleh manajer memori android. Android akan memulai menutup aplikasi yang mengandung activity inactive, kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan di tutup.

      2. Services
      Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di background untuk waktu yang tidak terbatas. Komponen service diproses tidak terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika Activity tidak aktif atau tidak tampak.

      3. Intents
      Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh Intents tersebut.

      4. Broadcast Receivers
      Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, Batre sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada perangkat. Sama halnya dengan service, Broadcast Receivers tidak menampilkan antarmuka pengguna. Namun, Broadcast Receivers dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada pengguna.

      5. Content Providers
      Content Providers digunakan untuk mengelola dan berbagi database. Data dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.

      Tipe Aplikasi Android
      Terdapat tiga kategori aplikasi pada android [Reto Meier, Profesional Android Application Development, Wiley Publishing, Canada, 2009] :
      1. Foreground Activity
      Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung dengan lancar.

      2. Background Service
      Aplikasi yang memiliki interaksi terbatas dengan user, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar. Contohnya aplikasi penyaringan panggilan atau sms auto respon.

      3. Intermittent Activity
      Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar musik.

      Siklus Hidup Aplikasi Android
      Siklus hidup aplikasi android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup. [Sayed . Y. Hashimi and Satya Komatineni, Pro Android, Apress, USA 2009]
      Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil.
      Gambar prioritas dari aplikasi :



      Referensi :
      http://blogs.mervpolis.com/roller/netoyaOzora/entry/arsitektur_dan_aplikasi_android
      Muhammad Amiral. Laporan Tugas Akhir. Institut Teknologi Indonesia

      ANDROID

      Google merupakan perusahaan yang dibentuk oleh dua orang pemuda yang bernama Larry Page dan Sergey Brin. Perusahaan ini bukan hanya sukses dengan aplikasi mesin pencari di Internet, selain menebar puluhan fasilitas gratis di Internet, kini Google telah memasuki produk perangkat genggam yang dikenal dengan nama Google Phone (G1). Google Phone generasi pertama (G1) dijejali dengan sistem operasi buatannya sendiri yang diberi nama Android




      ANDROID…

      Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

      Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
      Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).

      SEJARAH ANDROID

      Pada Juli 2005, Google mengakuisisi Android, Inc, sebuah perusahaan startup yang berbasis di Palo Alto, California, Amerika Serikat. Android’s co-pendiri yang pergi untuk bekerja di Google termasuk Andy Rubin (co-pendiri Danger, Rich Miner (co-pendiri Kebakaran liar Communications, Inc , Nick Sears (sekali VP di T-Mobile , dan Chris White (diketuai desain dan pengembangan antarmuka di webtv. Pada waktu itu, hanya sedikit yang diketahui tentang fungsi Android, Inc lain dari itu mereka membuat perangkat lunak untuk ponsel.Hal ini dimulai desas-desus bahwa Google berencana untuk memasuki pasar telepon seluler, meskipun tidak jelas apa fungsi itu mungkin tampil di pasar itu.

      Di Google, tim yang dipimpin oleh Rubin mengembangkan platform perangkat mobile didukung oleh kernel Linux yang mereka dipasarkan ke produsen handset dan operator pada premis memberikan yang fleksibel, sistem upgradeable. Hal ini melaporkan bahwa Google telah berbaris serangkaian komponen perangkat keras dan perangkat lunak dan memberi isyarat untuk mitra operator itu terbuka untuk berbagai tingkat kerjasama pada pihak mereka.Lebih spekulasi bahwa Google akan memasuki pasar telepon seluler datang pada bulan Desember 2006 .Laporan dari BBC dan The Wall Street Journal mencatat bahwa Google ingin pencariannya dan aplikasi pada ponsel dan sudah bekerja keras untuk memberikan itu. Cetak dan media online segera melaporkan rumor bahwa Google sedang mengembangkan handset bermerek Google.Lebih spekulasi diikuti laporan bahwa Google telah menentukan spesifikasi teknis, ini menunjukkan prototipe untuk produsen ponsel dan operator jaringan.
      Pada bulan September 2007, InformationWeek menutupi sebuah studi Evalueserve melaporkan bahwa Google telah mengajukan beberapa aplikasi paten di bidang telepon seluler.Akhirnya Google meluncurkan smartphone Nexus Salah satu yang menggunakan open source Android mobile sistem operasi. Perangkat ini diproduksi oleh Taiwan’s HTC Corporation, dan menjadi tersedia pada 5 Januari 2010.

      Apa saja Fitur OS Android ??

      android punya banyak fitur, yaitu:

      • Handset layout

      Platform disesuaikan dengan lebih besar, VGA, grafik 2D perpustakaan, grafis 3D perpustakaan berdasarkan OpenGL ES 1,0 spesifikasi, dan tata letak smartphone tradisional.

      • Storage (Penyimpanan)

      Software database SQLite digunakan untuk tujuan penyimpanan data

      • Connectivity (Konektivitas)

      Android mendukung teknologi konektivitas termasuk GSM / EDGE, CDMA, EV-DO, UMTS, Bluetooth, dan Wi-Fi.

      • Messaging (Pesan)

      SMS dan MMS tersedia bentuk threaded pesan termasuk pesan teks.

      • Web browser (Web browser)

      Browser web yang tersedia di Android didasarkan pada open source WebKit kerangka aplikasi.

      • Java support (Dukungan java)

      Perangkat lunak yang ditulis di Jawa dapat dikompilasi akan dieksekusi dalam Dalvik mesin virtual, yang merupakan implementasi VM yang dirancang khusus untuk perangkat mobile digunakan, meskipun tidak secara teknis standar Java Virtual Machine.

      • Media support (Dukungan media)

      Android berikut mendukung audio / video / masih format media: H.263, H.264 (dalam 3GP atau MP4 wadah), MPEG-4 SP, AMR, AMR-WB (dalam kontainer 3GP), AAC, HE-AAC (dalam MP4 atau kontainer 3GP), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF, BMP.

      • Additional hardware support (Dukungan hardware tambahan)

      Android dapat menggunakan video / still camera, touchscreens, GPS, pengukur kecepatan, magnetometer, akselerasi 2D bitblits (dengan hardware orientasi, scaling, konversi format piksel) dan mempercepat grafis 3D.

      • Development environment (Lingkungan pengembangan)

      Termasuk perangkat emulator, tools untuk debugging, memori dan kinerja profil, sebuah plugin untuk Eclipse IDE.

      • Market (Pasar)

      Mirip dengan App Store pada iPhone OS, yang Android Pasar adalah sebuah katalog aplikasi yang dapat didownload dan diinstal untuk menargetkan hardware over-the-air, tanpa menggunakan PC. Awalnya hanya freeware aplikasi yang didukung. Paid-untuk aplikasi telah tersedia di Pasar Android di Amerika Serikat sejak 19 Februari 2009.

      • Multi-touch

      Android memiliki dukungan asli untuk multi-touch tapi fitur dinonaktifkan pada level kernel (mungkin untuk menghindari Apple melanggar paten pada teknologi layar sentuh). Model tidak resmi telah dikembangkan yang memungkinkan multi-touch, tetapi membutuhkan superuser akses ke perangkat berkedip kernel yang unsigned.

      Sejak munculnya sistem operasi Android November 2007, sistem operasi Android terus mengalami peningkatan versi diawali dengan versi 1.1 hingga versi yang baru saja di release yaitu versi 2.3 (Gingerbread)
      Entah dengan maksud apa, diawali dari versi 1.5 sistem operasi Android memakai nama-nama makanan/kue untuk nama alias dari versi Android yang di rilis.


      Android versi 1.1


      Versi ini dirilis pada 9 Maret 2009, yang muncul dengan pembaruan terhadap estetika pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.




      Android versi 1.5 (Cupcake)

      Cupcake atau dalam terjemahan bebas berarti kue cawan adalah nama alias dari sistem operasi Android versi 1.5. Ada beberapa pembaruan dan juga penambahan beberapa fitur pada versi ini yaitu adanya kemampuan untuk merekam dan menonton video pada modus kamera, mengupload video ke Youtube dan gambar ke Picasa secara langsung, dukungan Bluetooth A2DP, animasi layar, dan keyboard pada layar.




      Android versi 1.6 (Donut)

      Donut dikenal juga dengan kue berlubang dipakai sebagai nama alias dari versi Android 1.6. Versi ini dirilis September 2009 dengan kemampuan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Serta ada tambahan fitur galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus. Versi ini telah mampu diintegrasikan dengan CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine.



      Android versi 2.0/2.1 (Eclair)
      Pada 3 Desember 2009 kembali sistem operasi Android merilis versi baru yaitu versi 2.0/2.1 yang diberi nama alias Eclair. Eclair adalah kue sus yang berbentuk panjang dengan toping coklat diatasnya.
      Perubahan pada versi ini yaitu adanya optimalisasi hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.




      Android versi 2.2 (Froyo)


      Froyo (Frozen yoghurt) adalah yoghurt (susu yang dibuat melalui fermentasi bakteri) yang dibekukan mirip seperti ice cream. Froyo dipakai sebagai nama alias dari sistem operasi Android versi 2.2. Versi ini meluncur pada Mei 2010 dengan peningkatan pada performance dan memori, integrasi dengan Chrome, USB tethering, WIFI Hotspot, Quick switching, Voice dialing, serta mendukung Adobe Flash 10.1.



      Android versi 2.3 (Gingerbread)

      Gingerbread adalah kue yang terbuat dari jahe, biasanya berbentuk boneka sering disajikan sebangai teman minum kopi.
      Gingerbread dipakai sebagai nama alias dari sistem operasi Android versi 2.3. Saat ini versi 2.3 dari Android ini merupakan versi terakhir dari sistem operasi Android.


      Ada beberapa peningkatan yang cukup menjanjikan pada Android Gingerbread ini yaitu antara lain :

      •Dukungan Aplikasi NFC, Aplikasi yang memungkinkan produsen gadget untuk membuat perangkat yang bisa digunakan untuk transaksi nirkabel (dompet elektronik)

      • Dukungan pada kamera depan.
      • Handphone Internet atau kemampuan bertelepon via internet, atau Voice over IP tanpa aplikasi tambahan yang berarti pengguna sudah bisa membuat panggilan VoIP langsung dari Handset tanpa perlu menambahkan aplikasi tambahan.
      • Tampilan yang lebih rapih, Tampilan interface android versi 2.3 ini makin rapih dan mudah dipelajari. Menu dan tema visual diperbaiki untuk memudahkan navigasi.
      • Manajemen Aplikasi, tersedia shortcut untuk sebuah aplikasi bernama Manage Applications. Di sini pengguna bisa melihat berapa besar memori yang diserap oleh masing-masing aplikasi yang sedang berjalan.
      • Input teks lebih cepat, keyboard dari Android Gingerbread dijanjikan akan lebih baik, dengan beberapa perubahan lokasi dan bentuk.Copy Paste, kemampuan untuk memilih (select) lalu melakukan Copy, Cut atau Paste menjadi semakin baik.


      Android versi 3.0 (Honeycomb)
      Honeycomb atau sarang madu adalah bagian dari hasil lebah ang dimanfaatkan selain dari madunya itu sendiri.
      Honeycomb dipakai sebagai nama alias dari sistem Android versi 3.0

      Belum banyak yang dapat diketahui dari versi Android Honeycomb ini. Menurut informasi versi Android 3.0 ini lebih ditujukan untuk mengoptimalisasi sistem operasi Tablet, atau lebih tepatnya Android versi 3.0 adalah sistem operasi Android untuk tablet PC


      Android versi 4.0 (Ice Cream)
      Ice Cream, tentu saja kita tahu karena ini adalah minuman atau tapatnya makanan yang sangat disukai terutama oleh anak kecil
      Ice Cream dipakai sebagai nama alias dari Android versi 4.0
      Tidak ada informasi yang mendukung mengenai Android veris 4.0 ini, tetapi ada sumber yang mengatakan bahwa Android versi 4.0 ini mengarah ke Cloud Computing.



      Dengan kemunculan Android saat ini, maka ponsel pintar saat ini yang tersedia di pasaran dibagi menjadi 4 kelompok besar, yaitu :

      - Blackberry, dengan system operasi Blackberry
      - iPhone, dengan system operasi MacOS.

      - Nokia, dengan system operasi Symbian.
      - Ponsel-ponsel berbasis Android.

      Keuntungan Dari SO Android :

      • peluncuran Android menjelaskan dimasa mendatang ponsel akan mempunyai kemampuan layaknya PC, bahkan lebih.
      • merupakan sistem operasi open source (terbuka) sehingga tiap orang berhak mengembangkannya.(Karena Android adalah sebuah open source platform maka banyak banget aplikasi dan game yang gratis)
      • kinerja aplikasi di platform Android adalah di atas rata rata, semua aplikasi termasuk game 3D berjalan sangat lancar dan TIDAK ngehang.
      • Linux (kernel 2.6) yang menjadi Operating System di Android ini sangat stabil (bagi Linux sudah biasa lah)
      • browsing internet pakai Android sangat enak karena kompatible dengan lebih dari 90% website di dunia
      • Android juga dapat membawa pengguna telepon genggam menjelajahi kawasan yang diinginkan melalui teknologi Sistem Pemetaan Global (GPS)

      • dengan terintegrasinya VoIP(Voice over Internet protocol) pada GPhone menelpon tidak perlu lagi menggunakan pulsa tapi cukup menggunakan Google Talk yang telah disediakan pada akun Gmail.
      • menggunakan touch screen capative (hanya bisa dipakai dengan jari tangan ASLI alias tidak bisa pakai Stylus) dan memiliki Accelerometer chip untuk membolak balik layar dari potrait ke landscape untuk berbagai kebutuhan yang berbeda beda.
      • kelebihan Android dari yang lainnya adalah harganya yang relatif lebih murah.

      Kekurangan Dari SO Android :

      • belum ada market yg bisa kita gunakan dari PC layaknya AppStore punya Apple
      • Karena masih baru, maka belum banyak aplikasi yg tersedia untuk android, tidak seperti iPhone atau WinOS yg sudah banyak aplikasinya.
      • platform berbasis di Java, sehingga manfaat dan sistem operasi Linux di Android tidak digunakan sepenuhnya
      • konsumen akan sulit membedakan produk dari berbagai vendor. Sejauh ini, perangkat Android yang telah diumumkan terlihat sangat mirip.

      Referensi :
      google.com
      http://tutorial.dumbstrack.com/?s=Android+Si+Perangkat+Lunak+Terpadu
      http://id.wikipedia.org