Sabtu, 27 April 2013

Contoh Program sederhana PL/SQL


Contoh Program Oracle PL/SQL

PROGRAM 1

Set serveroutput on
Declare
S int;
L int;
Begin
S := 6;
L:=s*s;
Dbms_output.put_line('sisi'||s);
Dbms_output.put_line('luas'||L);
End;

PROGRAM 2

Set serveroutput on
Declare
J int;
Begin
J:=0;
Loop;
J:=j+1;
Dbms_output.put_line('test looping');
exit when j = 10;
end loop;
end;

  
Logika Program :

PROGRAM 1
Set serveroutput on
è  berguna untuk menampilkan output. Jika kata ‘on’ digantikan dengan ‘off’ maka output tidak  akan muncul.
Declare
S int;
L int;
è  untuk mendeklarasikan variable S dan L yang bertipe data integer.
Begin
S:= 6;
L:=s*s;
è artinya variable S memiliki nilai 6 dan variable S diartikan sebagai rumus yang berisikan variable s dikali variable s.
Dbms_output.put_line (‘sisi ‘||s);
Dbms_output.put_line (‘luas ‘||L);
End;
è  perintah untuk mencetak output yang telah dijalankan oleh program. 

1. Menghitung Keliling Persegi Panjang.
declare
pertama float(5);
kedua float(5);
kel float(5);
luas float(5);
begin
pertama:=&masukkan_panjang;
kedua :=&masukkan_lebar;
kel :=(2*pertama) + (2*kedua);
luas :=pertama*kedua;
dbms_output.put_line(‘Persegi panjang ini kelilingnya ‘ || kel || ‘ cm ‘ || ‘dan Luasnya ‘ || luas || ‘ cm’);
end;
/
************************************************************************************************
2. Menentukan Jenis Kelamin Berdasarkan inputan nama.
declare
nama varchar(20);
jk char(2);
begin
nama:= ‘&inputnama’;
jk:=’&JK’;
if(jk=’p’ or jk=’P') then
dbms_output.put_line(‘Selamat Datang Neng ‘ || nama);
else if(jk=’l’ or jk=’L') then
dbms_output.put_line(‘Selamat Datang Kang ‘ || nama);
else
dbms_output.put_line(‘Maaf…., jenis kelamin anda tidak terdaftar dalam database. Anda BANCI yaahhh…’);
end if;
end if;
end;
/
************************************************************************************************
3. Menentukan Total Bayar
declare
nama varchar(25);
harga float(15);
diskon float(3);
total float(15);
begin
nama:=’&input_nama’;
harga:=&harga_buku;
diskon:=&diskon;
total:=harga -((diskon/100)*harga);
dbms_output.put_line(‘Selamat Datang ‘ || nama);
dbms_output.put_line(‘Harga yang harus dibayar ‘ || total);
if (diskon >=25) then
dbms_output.put_line(‘Wow baeee kalleeee’);
else
dbms_output.put_line(‘Beee… pelitnyaaaaaa’);
end if;
end;
/
************************************************************************************************
4. Menentukan Tanggal, Bulan, Dan Tahun saat ini / sekarang
declare
begin
dbms_output.put_line(‘Sekarang hari ‘ || to_char(sysdate, ‘DAY’)|| ’ Tanggal ‘ || to_char(sysdate,’DD’) ||  ’ Bulan ‘ || to_char(sysdate,’MONTH’) ||  ’ Tahun ‘ || to_char(sysdate,’YYYY’));
end;
/
************************************************************************************************
5. Membuat Deretan Fibbonacci
declare
x number(5);
y number(5);
fib number(5);
input number(5);
begin
x:=1;
y:=1;
input:=&masukkan_batas;
input:=input-2;
dbms_output.put_line(1);
dbms_output.put_line(1);
for i IN 1..input LOOP
fib:=x+y;
x:=y;
y:=fib;
dbms_output.put_line(fib);
END LOOP;
end;
/
************************************************************************************************
6. Membuat urutan bilangan, dimana jumlah bilangan yang nampil tidak lebih dari bilangan inputan.
declare
i number(5);
input number(5);
begini:=1;
input:=&masukkan_angka;
dbms_output.put_line(1);
LOOP
i:=i+3;
dbms_output.put_line(i);
exit when i > input;
end loop;
end;
/

PL/SQL


PL/SQL adalah kepanjangan dari  PROCEDURAL LANGUAGE/STRUCTURE QUERY LANGUAGE  yang mempunyai definisi : suatu blok yang berisi skrip-skrip bahasa prosedural, PL/SQL ini hampir sama seperti pascal PL/SQL juga merupakan bahasa pemrograman prosedural yang dapat meningkatkan kinerja database.
      
      Tipe Data PL/SQL : 
Ø  Tipe Data Dasar :   

a. Numerik : NUMBER, BINARY_INTEGER, DEC, DOUBLE PRECISION, INTEGER, INT, NUMERIC, REAL, SMALLINT 
         b. Karakter : VARCHAR2, CHAR, LONG
         c. DATE
         d. BOOLEAN
         e. ROWID

Ø  Tipe Data Tambahan :   a . Record
                                                                b . Array



Struktur Data Dalam PL/SQL :
Declare
Begin
Exception
End

Struktur diatas dapat dijelaskan sebagai berikut :
1. Bagian Judul (Header)
        Bagian ini hanya digunakan jika PL/SQL diberikan nama, misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok, daftar parameter, dan pengembalian hasil (return) jika blok adalah fungsi.

2. Bagian Deklarasi (declaration)
       Bagian ini untuk membuat deklarasi mengenai semua variable dan konstanta yang direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan.

3. Bagian Eksekusi (Execution).
      Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.

4. Bagian Perkecualian (Exception)
     Bagian ini memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.
     Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik-koma(;) dan semua program PL/SQL harus diakhiri dengan perintah END. Pada bagian deklarasi ditempatkan variable dan konstanta yang dipakai oleh pernyataan PL/SQL yang dibuat. Perbedaan variabel dengan konstanta adalah :
- Konstanta – nilai ditentukan pada saat deklarasi dibuat sehingga nilainya tetap pada saat program dieksekusikan.
- Variabel – dapat menerima nilai baru atau sebaliknya diubah pada saat program dieksekusi.

referensi :


OBJECT ORIENTED DATABASE


OBJECT ORIENTED DATABASE
Objek database mulai populer pada pertengahan tahun 1990 an. Bermula dari Objek Oriented Programming(OOP) yang kemudian dikembangkan menjadi Objek Oriented Database (OOD) dan pada akhirnya menjadi Objek Oriented Analysis (OOA). Didalam konsep objek oriented database kita dapat melakukan pemodelan data dari semua phenomena dan dapat dinyatakan dalam bahasa umum (natural).
Objek Oriented Database pada dasarnya merupakan kosep dari pemrograman berorientasi objek secara umum ditambah dengan database sebagai media penyimpanan datanya yang berbentuk class-class, sehingga dalam hal ini masih berhubungan erat dengan E-R Model.
Objek Oriented Database muncul karena kekomplekan dari penyimpanan objek-objek yang akan disimpan didalam database sehingga konsep dari Relational Database Manejemen Sistem (RDBMS) masih tetap digunakan. Mekanisme penyimpanan objek-objek didalam Relational Database Menejemen Sistem ini sering dikenal dengan istilah ORDBMS (Objek Relational Database Managemen System).

PENGERTIAN

Object Oriented Database (OOD) merupakan salah satu jenis database dimana data direpresentasikan dalam bentuk object. Pendekatan ini sangat dipengaruhi oleh bahasa pemrograman object-oriented dan dapat dipahami sebagai usaha untuk menambah fungsionalitas DBMS pada lingkup bahasa pemrograman.

PERKEMBANGAN APLIKASI BASIS DATA

1.      Computer-Aided Design (CAD)
Database CAD menyimpan data yang berhubungan dengan rancangan mekanik dan elektrik, sebagai contoh : gedung, pesawat, dan chips IC.

2.      Computer-Aided Manufacturing (CAM)
Database CAM menyimpan data yang jenisnya sama dengan sistem CAD, ditambah data yang berhubungan dengan produksi yang mempunyai ciri-ciri tersendiri (seperti mobil pada saat perakitan) dan produksi yang continue (seperti sintesa kimia).

3.      Computer-Aided Software Engineering (CASE)
Database CASE menyimpan data yang berhubungan dengan langkah-langkah dari siklus pengembangan software yaitu : planning, requirements collection analysis, design, implementation, test, maintenance and documentation.

4.      Computer-Aided Publishing (CAP)
Database CAP menyimpan dokumen yang kompleks. Sama seperti otomatisasi kantor, aplikasi CAP telah diperluas untuk menangani dokumen-dokumen multimedia yang berisikan teks, audio, gambar, video data, dan animasi.

5.      Office Automation (OA)
Database OA menyimpan data yang berhubungan dengan pengontrolan informasi computer dalam bidang bisnis, termasuk e-mail, dokumen-dokumen, invoice, dsb.
Agar menyediakan dukungan yang lebih baik untuk area ini, dibutuhkan penanganan yang lebih luas terhadap jenis data daripada nama, alamat, tanggal dan uang.
Sekarang ini sistem yang modern dapat menangani text yang berjenis bebas, foto, diagram, audio dan video. Sebagai contoh : dokumen multimedia yang mengangani teks, foto, spreadsheets dan suara.

KONSEP OBJECT ORIENTED
Beberapa konsep Object Oriented Database :
·         Kenyataan dalam dunia ini direpresentasikan sebagai object
·         Setiap object memiliki state dan behavior
·         State merupakan nilai dari properties dan atribut dari object
·         Behavior merupakan method yang dijalankan oleh state
·         Object yang memiliki kesamaan state dan behavior dikelompokkan dalam satu class yang sama
·         Setiap object hanya dapat diturunkan (instace) kedalam satu class saja
·         Class-class dikeompokkan dalam sebuah hierarki. Subclass memiliki turunan (inherits) dari superclass-nya.
·         Dimungkinkan juga terjadi overriding dimana sebuah class men-substitute domain dari propertiesnya dengan method lain dalam implementasi yang berbeda.

A.      Abstraksi dan Enkapsulasi
·         Abstraksi
adalah proses identifikasi aspek-aspek yang perlu  dari entitas dan mengabaikan property yang tidak penting.
·         Enkapsulasi (information hiding)
adalah memisahkan aspek-aspek eksternal sebuah objek dari rincian internalnya (internal details), yang tidak terlihat dari dunia luar. Dengan cara ini, internal detail sebuah objek dapat dirubah tanpa mempengaruhi aplikasi yang menggunakan objek tersebut, begitu juga dengan external detail. Dengan kata lain, encapsulation menyediakan data independence.
Contoh : Objek Roti, objek ini mempunyai method Pembuatan Roti. Jika kita ingin memakan roti, tentu kita tidak perlu tahu bagaimana cara membuatnya. Dengan demikian pembuatan Roti menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

B.      Objek dan Atribut
·         Objek
adalah sebuah entitas yang dapat diidentifikasikan secara unik, berisikan atribut-atribut yang menerangkan keadaan atau kondisi (state) objek dunia nyata (real world object) dan aksi-aksi yang berhubungan dengan sebuah objek dunia nyata. Definisi objek serupa dengan definisi entitas. Perbedaannya : objek menunjukkan keadaan (state) dan tingkah laku (behaviour), sedangkan entitas menunjukkan models state.

·         Atribut
adalah nama-nama property dari sebuah kelas yang menjelaskan batasan nilainya dari property yang dimiliki oleh sebuah kelas tersebut. Atribut dari sebuah kelas mempresentasikan property-property yang dimiliki oleh kelas tersebut. Atribut mempunyai tipe yang menjelaskan tipe instanisasinya. Hanya sebuah instanisasi dari kelas (objek) yang dapat mengubah nilai dari atributnya.
Keadaan (state) dari sebuah objek dijelaskan dengan nilai dari atribut-atribut yang dimilikinya (selain keberadaan hubungan dengan objek lainnya). Dalam sebuah kelas atribut hanya dinyatakan keberadaan dan batasan nilainya saja, sedangkan dalam sebuah objek atributnya sudah dinyatakan nilai dan menjelaskan kedudukan / keadaan dari objek tersebut.
C.      Identitas Objek (Object Identity)
Pada saat objek dibuat, object identifier (OID) langsung ditentukan. OID tersebut unik dan berbeda. OID membedakan objek yang satu dengan objek lainnya di dalam sistem. Sekali objek dibuat, OID tersebut tidak dapat digunakan kembali untuk objek-objek lainnya, walaupun objek tersebut telah dihapus.

D.     Metode dan Pesan
·         Metode (Methods)
Dalam teknologi objek, function biasanya disebut methods. Methods mendefinisikan tingkah laku dari sebuah objek. Methods dapat digunakan untuk merubah kondisi objek dengan memodifikasi nilai atribut-atributnya, atau meng-query nilai atribut yang diseleksi.

·         Pesan (Message)
Message mempunyai arti komunikasi antara objek. Sebuah message merupakan permintaan sederhana dari suatu objek (pengirim) ke objek lain (penerima) dan menanyakan objek tsb untuk mengeksekusi salah satu method-nya. Pengirim dan penerima bisa pada objek yang sama. Notasi ‘dot’ biasanya digunakan untuk mengakses sebuah method.

E.      CLASS
Class merupakan pendefinisian himpunan objek yang sejenis. Objek yang mempunyai atribut yang sama dan meresponse message yang sama dapat dikelompokkan bersama membentuk sebuah class. Atribut dan method yang berhubungan cukup sekali saja didefinisikan untuk class, daripada didefinisikan terpisah untuk setiap objek.
Contoh :
seluruh objek cabang dideskripsikan oleh sebuah class cabang (branch). Objek-objek pada sebuah class disebut instance dari class. Setiap instance mempunyai nilainya sendiri untuk setiap atribut, tetapi nama atribut dan method-nya sama seperti instance lainnya dari sebuah class.

F.       SUBCLASS, SUPERCLASS, dan INHERITANCE
Inheritance mengizinkan satu class objek didefinisikan sebagai kasus spesial (special case) dari sebuah class pada umumnya. Special case ini dikenal dengan subclass, dan kasus umum lainnya dikenal sebagai superclass. Proses pembentukan superclass sama seperti generalization, sedangkan subclass seperti specialization. Konsep dari superclass, subclass, dan inheritance sama seperti EER, kecuali dalam paradigm object-oriented, inheritance meliputi state dan behaviour.

referensi :


FAST AND FURIOUS 6


Sebuah Film Actions Balapan terbaru sequel "Fast and Furious 6" yang akan rilis di Bioskop Mei 2013, yang masih dibintangi Vin Diesel, Paul Walker dan Dwayne Johnson. Blog Informasi Film di Bioskop Terbaru Indonesia dan Luar menghadirkan Fast and Furious 6 2013.

Penasaran dengan Film ini, langsung saja dilihat Sinopsis Pemain dan Video Movie Trailer di Bioskop Terbaru berikut:

Tayang Indonesia: Juni 2013
* Rilis Bioskop: 24 Mei 2013 (USA-Nationwide)
* Genre: Crime Action Thriller Sequel
* Directed: Justin Lin
* Distributor: Universal Pictures
* Official Website: FastnFurious6.com
* Page: facebook.com/FastNFurioussix
* Starring:
- Vin Diesel as Dominic Toretto
- Paul Walker as Brian O’Connor
- Dwayne Johnson as Luke Hobbs [The Rock]
- Gina Carano as Agent
- Luke Evans as Owen Shaw [Villain]
- Michelle Rodriguez as Letty
- Jason Statham

* Sinopsis Fast and Furious 6 2013:
Dominic Toretto (Vin Diesel), Brian O'Connor (Paul Walker) dan kru, sekali lagi mereka berhubungan dengan hukum ketika mereka mencoba melakukan sebuah pencurian beroktan tinggi di jalan-jalan Eropa. Perseteruan panas mereka dengan agen federal Luke Hobbs (Dwayne Johnson).

Pastinya suka dengan sequel Fast and Furious 6 dan penasaran kan dengan film terbaru 2013 bioskop ini. Ditunggu dan Saksikan Film Fast and Furious 6 di Bioskop yang akan rilis mulai 24 Mei 2013 secara internasional dan mungkin bioskop indonesia Juni 2013 mendatang.

referensi :

http://film21terbaru.blogspot.com/2012/12/fast-and-furious-6-2013-bioskop.html

Rabu, 03 April 2013

Cloud Computing

Pengertian Cloud Computing - Komputasi awan atau Cloud Computing merupakan teknologi terkini dimana user dapat mengunakan produk / service dengan berbasis internet. Sebenarnya Cloud Computing / Komputasi Awanterdiri dari banyak pusat-pusat pengolahan datacenter yang terdiri dari perangkat kecil yang disusun sedemikian rupa dalam jumlah yang besar untuk diakses dengan teknologi internet.


Menurut NIST (National Institute of Standards and Technology), sebuah sistem dapat dikatakan Cloud Computing / Komputasi Awan bila memenuhi 5 karakteristik dibawah ini :
  1. Resource Pooling adalah sumber daya bisa berupa storage, CPU, memory, network bandwidth dsb yang disediakan oleh penyedia service untuk memenuhi kebutuhan pelanggan untuk digunakan secara bersama-sama oleh sejumlah user (multi-tenant).
  2. Broad Network Access atau Luas Jaringan Akses yang memungkinkan penguna service dapat mengakses melalui perangkat seperti smartphone, laptop, tablet, workstation, dsb.
  3. Measured Service merupakan layanan monitoring yang disediakan oleh provider service yang memungkinkan penguna service Cloud Computing / Komputasi Awan untuk memonitoring resources, seperti bandwidth, kapasitas, proses yang sedang berjalan, dsb.
  4. Rapid Elasticity yang berarti kapasitas layanan service dapat dinaikan atau diturunkan setiap saat dengan mudah dan bebas.
  5. Self Service, diharapkan penguna service dapat secara mandiri untuk mengkonfigurasi layanan  Cloud Computing / Komputasi Awan secara mandiri tanpa harus berinteraksi dengan pihak cloud provider.
referensi :


Data Flow Diagram (DFD)


Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD merupakan alat bantu dalam menggambarkan atau menjelaskan  DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi.

Latar belakang DAD

Suatu yang lazim bahwa ketika menggambarkan sebuah sistem kontekstual data flow diagram yang akan pertama kali muncul adalah interaksi antara sistem dan entitas luar. DFD didisain untuk menunjukkan sebuah sistem yang terbagi-bagi menjadi suatu bagian sub-sistem yang lebih kecil adan untuk menggarisbawahi arus data antara kedua hal yang tersebut diatas. Diagram ini lalu “dikembangkan” untuk melihat lebih rinci sehingga dapat terlihat model-model yang terdapat di dalamnya.

Tujuan DFD

Tujuan DFD adalah :
1. Memberikan indikasi mengenai bagaimana data ditransformasi pada saat data bergerak melalui sistem
2. Menggambarkan fungsi-fungsi(dan sub fungsi) yang mentransformasi aliran data

Manfaat DFD

Manfaat DFD adalah :
  • Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  • DFD ini adalah salah satu alat pembuatan model yang sering digunakan,khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem.Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
  • DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.

Simbol DFD

TERMINATOR/KESATUAN LUAR (EXTERNAL ENTITY)

Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu sistem dengan lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan (entity) di lingkungan luar sistem yang berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan membeikan input atau menerima output dari sistem (Jogiyanto, 1989).
Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.
Entitas Luar (external Entity)Notasi terminator/Kesatuan Luar di DFD
Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan.

ARUS DATA (DATA FLOW)

Arus data (data flow) di DFD diberi simbol suatu panah. Arus data ini mengalir diantara proses (Process), simpanan data (data store) dan kesatuan luar (external entity). Arus data ini menunjukkan arus data yang dapat berupa masukkan untuk sistem atau hasil dari proses sistem.
Notasi Arus Data di DFD
Arus Arus data  data dapat dapat berbentuk berbentuk sebagai sebagai berikut berikut : :
  • Formulir atau atau dokumen dokumen yang  yang digunakan digunakan perusahaan perusahaan
  • Laporan tercetak tercetak yang  yang dihasilkan dihasilkan sistem sistem
  • Output dilayar  komputer
  • Masukan untuk komputer komputer
  • Komunikasi ucapan
  • Surat atau memo
  • Data yang dibaca atau atau direkam di  file
  • Suatu isian yang  yang dicatat pada buku agenda
  • Transmisi data  dari suatu komputer ke komputer lain

PROSES (PROCESS)

Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau komputer dan hasil suatu arus data yang masuk ke dalam proses untuk dilakukan arus data yang akan keluar dari prises. Suatu proses dapat ditunjukkan dengan simbol lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya tumpul.
Notasi Proses di DFD
Ada beberapa hal yang perlu diperhatikan tentang proses :
  • Proses harus memiliki input dan output.
  • Proses dapat dihubungkan dengan komponen terminator, data store atau proses melalui alur data.
  • Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.

SIMPANAN DATA (DATA STORE)

Simpanan data (data store) merupakan simpanan dari data yang dapat berupa file atau database di sistem komputer, arsip atau catatan manual, kotak tempat data di meja seseorang, tabel acuan manual, agenda atau buku. Simpanan data di DFD dapat disimbolkan dengan sepasang garis horizontal paralel yang tertutup di salah satu ujungnya.
Simbol dari Simpanan Data di DFD

Syarat Memuat DFD

Syarat-syarat pembuatan DFD ini adalah :
1. Pemberian nama untuk tiap komponen DFD
2. Pemberian nomor pada komponen proses
3. Penggambaran DFD sesering mungkin agar enak dilihat
4. Penghindaran penggambaran DFD yang rumit
5. Pemastian DFD yang dibentuk itu konsiten secara logika

referensi :

Pengenalan Android dan versi - versinya


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.
Kerjasama dengan Android Inc.
Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler. versi android terbaru yaitu versi 3.0.

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).
Perkembangan yang pesat pada sistem android karena juga didukung oleh hampir keseluruhan vendor smartphone. hal ini karena sifatnya yang open source sehingga siapa saja bisa mengembangkan OS tersebut untuk diginakan di gadget mereka dan disesuaikan dengan kebutuhan dan pasar.
Seperti pada Distribusi Linux yang sering berkembang demikian juga dengan Android itu sendiri sejak awal dikembangkan 2009 sampai sekarang sudah memiliki 5 versi dan ini akan terus berkembang karena pasar yang semakin melirik OS ini dan mudahnya pengembangannya. 



Saat ini OS Android telah sampai versi 4.1 dengan code name Jelly Bean. Berikut adalah sejarah perkembangan versi OS Android :

Android 1.0 beta
Android Beta, pertama kali di rilis tanggal 5, November, 2007, dan versi SDK (Software developer Kit) beta di rilis tanggal 12, November di tahun yang sama.

Android 1.0
Android 1.0, merupakan versi software Android komersial pertama, dirilis 23 September, 2008. Dan perangkat Android pertama yang menggunakan dan memperkenalkan Android 1.0 adalah ponsel HTC Dream (G1).

Android 1.1
Pada 9 Februari, 2009, Android 1.1 di luncurkan, awalnya hanya untuk T-Mobile G1. Versi ini guna memecahkan masalah (bug), merubah API dan menambahkan sejumlah fitur dibanding versi 1.0. Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.

Android 1.5 (CupCake)
Pada 30 April, 2009, Android 1.5 di rilis, dinamakan CupCake, berbasis Linux Kernel 2.6.27. Update ini membawa sejumlah fitur baru dan perubahan pada antarmuka (UI).

Android 1.6 (Donut)
Pada 15 September, 2009 SDK Android 1.6 diberi nama Donut, dirilis, bebasis Linux Kernel 2.6.29. Di dalamnya terdapat sejumlah fitur baru. Di antaranya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.

Android 2.0 / 2.1 (Eclair)
Pada 26, Oktober, 2009, SDK Android 2.0 dengan nama kode Eclair dirilis, berbasis Linux Kernel 2.6.29. Dan Motorola Droid perangkat yang menggunakan Eclair saat itu. Perubahan yang dilakukan adalah pengoptimalan 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 2.2.x (Froyo : Frozen Yoghurt)
Pada tanggal 20 bulan Mei, 20120, SDK Android 2.2 (Froyo) di rilis, berbasis Linux Kernel 2.6.32. Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi Android Market.Dan Google Nexus One merupakan ponsel pintar pertama yang menggunakan Android Froyo.

Android 2.3.x (Gingerbread)
Pada tanggal 6, Desember, 2010, SDK Android 2.3 (Gingerbread) diluncurkan, berbasis Linux Kernel 2.6.35. Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu. Dan Google Nexus S merupakan perangkat mobile pertama yang hadir dengan Android 2.3 Ginggerbread ini.

Android Honeycomb 3.x (Honeycomb)
Pada tanggal 22, Februari, 2011, SDK Android 3.0 (Honeycomb) yang merupakan versi Android pertama yang diperuntukan untuk perangkat tablet di luncurkan, berbasis Linux Kernel 2.6.36. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Dan perangkat tablet komputer pertama yang gunakan versi ini, ialah Motorola Xoom, yang dirilis pada 24, Februari, 2011.

Android 4.0.x (Ice Cream Sandwich)
SDK untuk Android 4.0.1 atau Ice Cream Sandwich dirilis untuk publik pada 19, Oktober,2011 dan berbasis Linux Kernel 3.0.1. Gabe Cohen dari Google menegaskan bahwa Android 4.0 secara teoritis cocok dengan perangkat Android 2.3 keatas dalam produksi masa itu. Android ICS 4.0 membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC. Kode sumber untuk Android 4.0 tersedia secara publik pada 14 November, 2011.

Android 4.1.x (Jelly Bean)
Android Jelly Bean yang diluncurkan pada acara Google I/O lalu membawa sejumlah keunggulan dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian, UI yang baru dan pencarian melalui Voice Search yang lebih cepat.



referensi :

http://www.smartphonesia.com/2013/03/sejarah-android-os-untuk-smartphone.html
http://fery-dedi.blogspot.com/2012/07/mengenal-sejarah-dan-seluk-beluk-os.html