Hogwarts

Hogwarts
draco dormiens nunquam titillandus

Jumat, 16 Desember 2011

KONSEP DASAR PEMROGRAMAN

PROGRAM: 
Merupakan himpunan atau kumpulan instruksi tertulis yang dibuat oleh 
programer atau suatu bagian executable dari suatu software.
PEMROGRAMAN : 
Suatu kumpulan urutan perintah ke komputer untuk mengerjakan 
sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengertioleh komputer atau dikenal dengan bahasa pemrograman.

PENDAHULUAN


APAKAH PEMROGRAMAN ?
  • Seperti suatu bahasa manusia, sebuah bahasa pemrogaman menyediakan suatu cara untuk mengungkapkans uatu konsep.
  • Pengembangan program mencakup pembuatan model-model keadaan sebenarnya dalam dunia nyata dan membuat program komputer berdasarkan model ini.
  • Program komputer menjelaskan metode untuk mengimplementasikan suatu model.
  • Bahasa pemrograman juga mempunyai sintaks(syntax) dan grammar seperti bahasa manusia.
  • Pengetahuan tentang grammar suatubahasa pemrograman tidaklah cukup untuk membuat program yang baik.

  • Seperti suatu bahasa manusia, sebuah bahasa pemrogaman menyediakan suatu cara untuk mengungkapkan suatu konsep.
  • Pengetahuan tentang Teknik perancangan program lebih penting dari pada pengertian tentang detail dari bahasa pemrograman.
  • Dalam belajar bahasa C tidak hanya belajar sintaks baru yang akan digunakan, tetapi belajar cara yang lebih baik dalam mengembangkan sistem.


UKURAN KUALIATAS PROGRAM
  • Sebuah program harus dapat mengerjakan tugasnya dengan benar.
  • Dapat melakukan tugasnya secara cepat.
  • Tidak menggunakan banyak sumber daya (processor time, memory, disk capasity, network capacity).
  • Program mudah dibaca dan dimengerti.
  • Proses pembuatan program selesai tepat waktu.
  • Adanya kesalahan tidak mempengaruhi bagian program (error locality).
  • Mudah pemeliharaannya.
  • Sebuah program harus independent dan tidak bergantung pada program lain.
  • Mempunyai dokumentasi yang baik.

STRUKTUR PEMROGRAMAN DENGAN C
  • C adalah salah satu bahasa pemrograman yang terstruktur.
  • Bahasa C terdiri dari fungsi-fungsi.
  • Tidak ada perbedaan antara prosedur dengan fungsi.
  • Setiap program C mempunyai satu fungsi dengan nama “main”(programutama).
  • Program akan dieksekusi dimulai dari statement pertama pada fungsi “main” tersebut.
  • Huruf besar dengan huruf kecil diartikan berbeda(case-sensitive).
  • Setiap perintah(statement) diakhiri dengan semi-colon(titikkoma(;)).
  • Bagian Pendeklarasian. Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program.
  • Bagian Statement. Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan.

STRUKTUR BAHASA C

Format penulisan fungsi secara umum:
#include<header_file>
deklarasi global_variabel;
return_type function_name(parameter)
{
deklarasi lokal_variabel;statements;return (value);
}

Fungsi bisa diletakkan di atas atau di bawah fungsi“main”. Fungsi yang tidak mengembalikan nilai tipe-nya(return-type) adalah“void”.

Format penulisan fungsi yang tidak mengembalikan nilai:
void function_name (parameter_list)
{
deklarasi lokal_variabel;
statements;
}


Contoh Program C:
1 /* Prog_1.C–Menampilkan “Hello World !” di monitor */
2 #include <stdio.h>
3 void main()
4 {
5 printf ( “Hello World !”);
6 }

 ELEMEN DASAR PEMROGRAMAN
  • Pengenal(variabel) dan Tipe Data
  • Konstanta
  • Operator
  • Statement Input dan Output (I/O)
PENGENAL DAN TIPE DATA
Pengenal (identifier) merupakan nama yang biasa digunakan untuk suatu perubah (variable), konstanta, fungsi, atau obyek lain yang didefinisikan oleh pemrogram.
Aturan yang berlaku bagi suatu pengenal secara umum adalah:
  1. Pengenal harus diawali dengan huruf (A .. Z, a .. z).
  2. Dapat berupa huruf, angka (0 .. 9) dan karakter garis bawah(_).
  3. Tidak boleh menggunakan Spasi.
  4. Panjang pengenal boleh terdiri lebih dari 32 karakter, akan tetapihanya 32 karakter pertama yang dianggap berarti.
  5. Case sensitive atau non Case sensitive tergantung bhs pemrogramannya. Misal C dan C++ adalah case sentitive.


DATA : Bahan mentah yang akan diolah menjadi informasi sehingga dapat dipergunakan oleh user atau pemakai.
Tipe data yang biasa digunakan adalah :
1. Tipe Data Dasar : merupakan tipe data primitif yang tidak terstruktur yang didefinisikan oleh bahasa     pemrograman. Tipe data dasar dibagi menjadi lima bagian yaitu :
  • Tipe Data Numerik : disetiap bahasa pemrograman dapat dipastikan ada tipe data numerik yaitu menyimpan data berupa angka.
    • Integer : merupakan bilangan bulat positif dan negatif.
    • Subrange : merupakan sebuah subtype dari tipe data integer dan terdiri dari urutan nilai-nilai integer dalam range yang tebatas.
    • Floating-point Real : biasa disingkat dan disebut tipe data riil.
    • Fixed-point Real : Bilangan fixwd-pont direpresentasikan dengan urutan digit yang mempunyai panjang tetap dengan titik desimal diposisikan ditempat yang diberikan antara dua digit.
    • Lain-lain : Tipe data lainnya adalah bilangan kompleks dan bilangan.
  • Enumerasi adalah suatu urutan list dari nilai-nilai yang berbeda.
  • Boolean: tipe data untuk merepresentasikan True atau False.
  • Character: tipe data untuk menyimpan rangkaian karakter.
  • Internationalization : disebutI18N.
2.  Tipe Data Terstruktur: merupakan tipe data campuran dari berbagai tipe data dasar, contohnya array, record, string, list danfile.
3. Tipe Data didefinisikan oleh Pemakai: tipe data ini biasanya disebut Enumerasi.
4. Tipe Data Penunjuk: contoh tipe data penunjuk adalah pointer.

MODEL KOMPUTASI
Model Komputasi: adalah suatu kumpulan dari nilai dan operasi-operasi.
Ada 3 dasar model komputasi:
  1. Model Fungsional. Model perhitungan yang fungsional terdiri dari satus et nilai-nilai, fungsi dan operasi aplikasi, fungsi dan komposisi fungsi.
  2. Model Logika. Logika model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.
  3. Model Imperative. Model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status tersebut.
DEFINISI SINTAKS, SEMANTIK DAN PRAGMATIS
SINTAKS: Aturan gramatikal/ komposisi suatu program yang mengatur tata cara penulisan huruf, angka dan karakter lain. 
Contoh: Pada pembuatan program Pascal antara 2 statement dipisahkan oleh; (titikkoma)
X:=1; X:=X+1;
SEMANTIK: Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut. Contoh: Pada pembuatan program Cintvector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10.
PRAGMATIS: Menguraikan derajat tingkat sukses dengan suatu bahasa pemrograman kepada model perhitungan dalam kegunaannya untuk para programer.

Prinsip-prinsip Desain Bahasa Pemrograman.
  1. Clarity, Simplicity dan Unity. Bahasa pemrograman harus dapat menolong programer untuk membuat suatu desain program jauh sebelum programmer melakukan coding.Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.
  2. Orthogonality. Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.
  3. Kewajaran untuk Aplikasi. Bahasa pemrograman membutuhkan syntax yang tepat/cocok yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.
  4. Mendukung Abstraksi. Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.
  5. Kemudahan untuk Verifikasi Program. Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka suatu program akan dengan mudah dibangun dan dikembangkan.
  6. Lingkungan Pemrograman. Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer untuk mengimplementasikan abstraksi yang sudah disusunnya.
  7. Portabilitas Program. Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.
  8. Biaya Penggunaan. Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman. Ada beberapa biaya yang dapat diukur yaitu: 

  • Biaya Eksekusi Program.
  • Biaya Translasi/kompilasi Program.
  • Biaya Penciptaan, Testing dan Penggunaan Program.
  • Biaya Pemeliharaan Program.

MATERI TAMBAHAN KONSEP DASAR PEMROGRAMAN



Bahasa Pemrograman Vs Bahasa Alami
Secara konsep, pemrograman bisa dikaitkan (dianalogikan) dengan disiplin rekayasa dan bahasa (alami). Kaitan dengan bahasa ini karena:
  • Konsep-konsep pemrograman adalah konsep-konsep bahasa pemrograman.
  • Konsep-konsep bahasa pemrograman dalam beberapa hal mirip dengan konsep-konsep bahasa alami. Yang dimaksud bahasa alami adalah bahasa yang diucapkan sehari-hari antar manusia, yang tidak perlu melibatkan komputer. Seperti bahasa Indonesia, bahasa Inggris, dan sebagainya. Berbekal pemahaman ini kita lihat hal berikut.
  • Suatu kalimat dalam bahasa alami beranalogi dengan sebuah peryataan (statement) di bahasa pemrograman.
  • Suatu kalimat di bahasa alami diakhiri dengan tanda baca. Sebuah statement di bahasa pemrograman juga diakhiri dengan tanda baca.
Penerjemah Bahasa Pemrograman
Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukanCompiler dan Interpreter.
Compiler adalah suatu program yang menterjemahkan bahasa program (source code) ke dalam bahasa objek (object code) secara keseluruhan program.
Interpreter berbeda dengan compiler, Interpreter menganalisis dan mengeksekusi setiap baris dari program tanpa melihat program secara keseluruhan.
Keuntungan dari Interpreter adalah dalam eksekusi yang bisa dilakukan dengan segera.  Tanpa melalui tahap kompilasi, untuk alasan ini interpreter digunakan pada saat pembuatan program berskala besar.
Compiler memerlukan waktu untuk membuat suatu program yang dapat dieksekusi oleh komputer. Tetapi, program yang diproduksi oleh Compiler bisa berjalan lebih cepat dibandingkan dengan yang diproduksi oleh Interpreter, dan bersifat independen.






Jumat, 09 Desember 2011

PENGENALAN DASAR PEMROGRAMAN

I. Pengertian
Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikan masalah.

Bahasa Pemrograman adalah prosedur penulisan program. Terdapat 3 faktor penting dalam bahasa pemrograman :
1. Sintaks adalah aturan penulisan bahasa tersebut (tata bahasanya).
2. Semantik adalah arti atau maksud yang terkandung didalam statement tersebut.
3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.

Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
Dalam pengolahan data memerlukan beberapa aspek- aspek dasar yaitu :
A. Brainware
Tenaga pelaksana yang menjalankan serta mengawasi pengoperasian sistem unit komputer didalam proses pengolahan data untuk menghasilkan suatu informasi yang tepat waktu, tepat guna dan akurat.
Contoh : Sistem Analis, Programmer, operator, Technical Support, dll.
B. Hardware
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ).
Contoh : CPU, Monitor, Keyboard, Harddisk, Disk drive, dll.
C. Software
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak program komputer yang digunakan untuk membantu proses kerja manusia ( Brainware ).

II. Bahasa Pemrograman Berdasarkan Perkembangan
A. Machine Language
Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin ( komputer ) yang didalamnya terdapat CPU yang hanya mengenal 2 (dua) keadaaan yang berlawanan, yaitu :
- Bila tejadi kontak (ada arus) bernilai 1
- Bila kontak terputus (tidak ada arus) bernilai 0

B. Low Level Language (Bahasa tingkat rendah)
Karena susahnya bahasa mesin, maka dibuatlah simbol yang mudah diingat yang disebut dengan “Mnemonics” ( Pembantu untuk mengingat ).
Contohnya : A : Untuk kata Add (Menambahkan)
B : Untuk kata Substract (mengurangi ) Mov : Untuk kata Move ( Memindahkan )
Bahasa Pemrograman yang menerjemahkan Mnemonics disebut
Assembler.

C. Middle Level Language (Bahasa tingkat menengah)
Bahasa pemrograman yang menggunakan aturan- aturan gramatikal dalam penulisan pernyataan, mudah untuk dipahami dan memilik instruksi - instruksi tertentu yang dapat langsung diakses oleh komputer.
Contohnya adalah bahasa C.

D. High Level Language (Bahasa tingkat tinggi)
Bahasa Pemrograman yang dalam penulisan pernyataannya
mudah dipahami secara langsung. pemrograman ini terbagi menjadi 2 yaitu :
1. Procedure Oriented Language
a. Scientific
Bahasa
persoalan
Digunakan untuk Matematis/perhitungan
Misal : Algol, Fortran, Pascal, Basic
b. Bussines
Digunakan untuk memecahkan persoalan dalam bidang bisnis.
Misal : Cobol, PL/1.
2. Problem Oriented Language
Misal : RPG (Report Program Generator).

E. Object Oriented Language (Bahasa berorientasi obyek) Bahasa pemrograman yang berorientasi pada obyek. Bahasa pemrograman ini mengandung fungsi-fungsi untuk menyelesaikan suatu permasalahan dan program tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukkan kriteria-kriteria yang dikehendaki saja
Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual C , dll.

III. Kerangka Dasar Pemrograman




Tambahan :

Dalam membuat sebuah program, kita harus memakai teknik pemrograman, adapun teknik-teknik
pemrograman tersebut diantaranya adalah :

• Pemrograman Procedural
• Pemrograman functional
• Pemrograman Terstruktur
• Pemrograman berbasis modul
• Pemrograman Berorientasi Objek
• Pemrograman Generic
• Pemrograman Deklaratif

Kriteria Bahasa Pemrograman
Beberapa kriteria pemilihan sebuah bahasa pemrograman :
• Clarity, simplicity dan unity Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programer mengembangkan suatu algoritma.
• Orthogonality Merupakan suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat digunakan.
• Kewajaran untuk aplikasi Bahasa pemrograman harus mempunyai struktur data, operasi-operasi, struktur kontrol dan syntax yang tepat untuk memecahkan suatu masalah.
• Mendukung abstraksi Abstraksi merupakan suatu hal yang substansial bagi programer untuk membuat suatu solusi dari masalah yang dihadapi.
• Kemudahan untuk verifikasi program Dengan verifikasi data yang mudah, maka suatu program akan dengan mudah dibangun dan dikembangkan

Lingkungan Pemrograman
Lingkungan pemrograman dapat berarti editor yang digunakan, dokumentasi yang baik, fasilitas debugging,  user interface yang baik ataupun tools lain yang dapat digunakan untuk memudahkan pekerjaan progamer.
• Portabilitas program Kemudahan program untuk dipakai diberbagai jenis komputer.
• Biaya Penggunaan
a. Biaya eksekusi program
b. Biaya kompilasi program
c. Biaya penciptaan, testing dan penggunaan program
d. Biaya pemeliharaan program
Sumber: http://4by.webnode.com/news/pengenalan-dasar-pemrograman/

Sabtu, 11 Juni 2011

iOS

Pendahuluan
 
iOS (dikenal sebagai OS iPhone sebelum Juni 2010) adalah sistem operasi mobile dari Apple. Awalnya dikembangkan untuk iPhone, sejak saat itu diperluas untuk mendukung perangkat Apple lainnya seperti iPad, iPod touch, dan Apple TV. Apple tidak melisensikan iOS untuk instalasi pada perangkat keras pihak ketiga. Pada 14 Januari 2011, Apple App Store y        ang berisi lebih dari 300.000 aplikasi iOS, yang telah di download lebih dari 10 miliar kali. Pada kuartal terakhir tahun 2010, iOS memiliki pangsa pasar 16% dari pasar sistem operasi smartphone dalam unit yang terjual, nomor tiga di belakang Google Android dan Symbian Pada bulan Mei 2010, menyumbang 59% dari konsumsi mobile web (tidak termasuk iPad) di Amerika Utara.

iOS
User interface pengguna iOS didasarkan pada konsep manipulasi langsung, menggunakan gerakan multi-touch. Elemen kendali Interface terdiri dari slider, switch, dan tombol. Interaksi dengan OS mencakup gerakan seperti swipe, tap, pinch, and reverse pinch, semuanya memiliki definisi khusus dalam konteks sistem operasi iOS dan interface multitouch-nya. Akselerometer internal digunakan oleh beberapa aplikasi untuk merespon getaran perangkat (satu hasil yang umum adalah membatalkan perintah) atau berputar dalam tiga dimensi (satu hasil yang umum adalah beralih dari portrait ke modus landscape).Dalam iOS, ada empat lapisan abstraksi: lapisan Core OS, lapisan Core Services, lapisan Media, dan lapisan Cocoa Touch. Sistem operasi menggunakan sekitar 500 megabyte perangkat penyimpanan, bervariasi untuk masing-masing model.

Sejarah iOS
Sistem operasi ini diresmikan bersama dengan iPhone di Macworld Conference & Expo pada tanggal 9 Januari 2007, dan dirilis pada bulan Juni tahun 2007. Pada awalnya, pemasaran Apple tidak menetapkan nama terpisah untuk sistem operasi, cukup menyatakan bahwa "iPhone menjalankan OS X". Pada awalnya, instalasi untuk pihak ketiga tidak didukung. Steve Jobs berpendapat bahwa pengembang dapat membangun aplikasi web yang "akan berperilaku seperti aplikasi asli pada iPhone". Pada tanggal 17 Oktober 2007, Apple mengumumkan bahwa SDK asli berada di bawah pengembangan dan bahwa mereka merencanakan untuk memasukkannya "di tangan pengembang pada bulan Februari ". Pada tanggal 6 Maret 2008, Apple merilis versi beta pertama, bersama dengan nama baru untuk sistem operasi:" iPhone OS ".
Ramaianya penjualan perangkat mobile Apple menyalakan minat dalam SDK. Bulan September 2006, Apple telah merilis iPod touch, yang sebagian besar berkemampuan non-ponsel. Apple juga menjual lebih dari satu juta iPhone selama musim liburan 2007. Pada tanggal 27 Januari 2010, Apple meluncurkan iPad, dengan tampilan layar yang lebih besar daripada iPhone dan iPod touch, dan dirancang untuk browsing web, konsumsi media online, dan membaca iBooks.
Pada bulan Juni 2010, Apple mengganti nama iPhone OS menjadi "iOS". Nama "IOS" telah digunakan oleh Cisco lebih dari satu dekade. IOS telah digunakan pada router Cisco. Untuk menghindari kemungkinan gugatan dari Cisco, Apple melisensi "IOS" trademark dari Cisco.

Sejarah dari Versi iOS
Versi 4 (iOS4), diumumkan pada bulan April 2010, diluncurkan dengan multitasking, email threaded, dan beberapa fitur yang berorientasi bisnis. Di WWDC 2010, tepatnya pada tanggal 7 Juni 2010, Apple mengumumkan bahwa iPhone OS telah diganti iOS. Apple melisensi merek dagang untuk "iOS" dari Cisco Systems (yang memiliki IOS), perusahaan yang sama dengan perusahan sebelumnya pernah bersengketa dengan Apple mengenai merek dagang "iPhone".

Apple merilis iOS 4 pada tanggal 21 Juni 2010, tiga hari sebelum iPhone 4, dalam upaya untuk mengurangi ketegangan pada server Apple. iOS 4 adalah versi pertama dari OS yang bisa diupgrade secara gratis pada iPod touch; Apple telah membebankan $ 9,99 untuk upgrade dini. Apple sebelumnya mengumumkan bahwa pengguna iPad akan menerima upgrade gratis sebanyak 3x perangkat lunak dan 4x untuk rilis utama berikutnya. iOS 4.0.1 termasuk pemasangan indikator kekuatan penerimaan sinyal, dirilis pada tanggal 15 Juli 2010, sehari sebelum Apple menjadi tuan rumah konferensi pers untuk membahas tanggapan terhadap isu-isu iPhone yang telah dipublikasikan secara meluas. Apple juga merilis iOS 3.2.1 untuk iPad yang menyedot konektifitas Wi-Fi pada tablet iPad, pemutar video, dan copy-paste untuk attachment PDF, diantara pembaruan lainnya.

iOS 4.0.2 untuk iPhone dan iPod touch, dan iOS 3.2.2 untuk iPad telah dirilis pada tanggal 11 Agustus 2010 untuk memperbaiki kerentanan keamanan.

iOS 4.1 untuk iPhone dan iPod touch ini dirilis pada tanggal 8 September 2010, update memperbaiki beberapa bug yang dilaporkan oleh pengguna, meningkatkan daya tahan baterai dan menambahkan fitur baru yang disebut Game Center, yang memungkinkan gamer untuk bermain secara multiplay, meng-upload skor tinggi dan untuk membuka prestasi (meskipun, Apple telah menghapus Game Center pada iPhone 3G karena laporan-laporan tentang kinerja yang lambat) dan menambahkan dukungan awal untuk iPod touch generasi ke-4 dan Apple TV 2G. iOS 4.1 juga memperbarui pengaturan operator untuk wilayah di AS, yaitu AT & T 8.0 dan diaktifkan On / Off Toggling Periksa Ejaan. iOS 4.1 juga menambahkan fotografi HDR, sebuah fitur yang hanya iPhone 4 yang mampu menggunakannya. Rentals TV Show tersedia di iTunes Store US. iOS 4.1 juga menambahkan fitur baru yang disebut Ping yang merupakan jaringan sosial musik dan alat penemuan.

iOS 4.2 dirilis untuk pengembang pada tanggal 8 November 2010. Tidak pernah dirilis ke publik sebagai bug Wi-Fi yang ditemukan pada edisi terbatas. Akhirnya, Apple merilis iOS 4.2.1 ke publik.
iOS 4.2.1 dirilis pada 22 November 2010 dengan dukungan untuk semua perangkat Apple A4, perangkat generasi ke-3 dan ke-2, dengan mengesampingkan Apple TV. Ini membawa dukungan awal iOS 4.x untuk iPad, ditambah AirPlay dan AirPrint untuk semua perangkat yang kompatibel. iOS 4.2.1 juga berisi perubahan kecil dengan aplikasi YouTube dan mengubah animasi multitasking. Pada iPad, tombol pada sisi perangkat, hanya bertindak untuk menonaktifkan sistem suara. Sebagai bug utama yang dikenal, versi ini tampaknya menghambat penggunaan Connection Kit Kamera di iPad.

iOS 4.2.5 dirilis sebagai versi demo untuk versi CDMA dari iPhone 4. Varian iPhone 4 ini dirilis untuk pelanggan Verizon Wireless di AS pada tanggal 10 Februari 2011, tapi pra-pemesanan telah tersedia untuk Pelanggan Verizon Wireless yang memenuhi syarat pada 3 Februari. Versi yang dirilis dengan telepon, 4.2.6, memiliki beberapa UI dengan sedikit perubahan khusus untuk versi telepon CDMA, termasuk sebuah tombol "Hotspot Pribadi" di app Pengaturan, sebuah layanan yang harus diaktifkan oleh carrier supaya fitur bisa digunakan.

iOS 4.3 beta dirilis kepada pengembang pada tanggal 12 Januari 2011, dan golden master dirilis pada tanggal 3 Maret 2011. iOS 4.3 memungkinkan Anda menggunakan gerakan jari untuk beralih antar aplikasi, kembali ke layar utama, dan membuka panel multi-tasking. Fitur ini hanya tersedia untuk pengembang.
iOS 4.3 telah dirilis ke publik pada tanggal 9 Maret 2011, 2 hari sebelum iPad 2. Selain fitur sebelumnya, public release dari iOS 4.3 mencakup banyak fitur baru seperti mesin Nitro JavaScript di Safari, membuat Safari berjalan sampai dua kali lebih cepat. iTunes Home Sharing juga menerima revisi utama di iOS 4.3. Itu memungkinkan pengguna untuk terhubung ke jaringan Wi-Fi di rumah mereka dan konten streaming dari perangkat iOS ke speaker, TV dan perangkat lain, atau sebaliknya. HotSpot Pribadi untuk iPhone 4 adalah fitur baru untuk iPhone GSM (dirilis sebelumnya dengan Verizon iPhone) yang memungkinkan pengguna untuk membuat jaringan Wi-Fi dengan iPhone 4 dan menyediakan akses internet hingga lima perangkat lain di Verizon Wireless, tiga di AT & T. Ini akan tersedia untuk kedua carrier iPhone 4 di US, AT & T dan Verizon Wireless. Selain itu, tombol pada sisi perangkat telah disesuaikan, sehingga pengguna dapat menggunakannya dengan baik sebagai sistem sound mute atau sebagai kunci rotasi layar.

iOS 4.3.1 (4.2.6 untuk iPhone CDMA) dirilis pada tanggal 25 Maret 2011. Ini ditujukan untuk occasional glitch graphics pada iPod touch generasi keempat, memutus bug yang berhubungan dengan mengaktifkan dan menyambungkan ke beberapa jaringan selular, gambar tetap berkedip-kedip pada saat menggunakan Apple Digital AV Adapter dengan beberapa TV, dan menyelesaikan masalah otentikasi dengan beberapa perusahaan layanan web.

iOS 4.3.2 (4.2.7 untuk iPhone CDMA) dirilis pada tanggal 14 April 2011. Ini tetap sebuah isu yang kadang-kadang menyebabkan video kosong atau beku selama panggilan FaceTime, isu-isu yang mencegah beberapa pengguna internasional untuk menggunakan koneksi jaringan 3G pada iPads, dan update keamanan terbaru.

iOS 4.3.3 (4.2.8 untuk iPhone CDMA) dirilis pada tanggal 4 Mei 2011 sebagai tanggapan atas penemuan caching location services di iTunes. Pembaruan ini mengurangi ukuran cache, mencegah penemuan caching location services ter-upload selama sinkronisasi, dan menghapusnya ketika layanan lokasi telah dimatikan.

Fitur
 
Layar awal (Home Screen)

 

Home Screen (yang diberikan oleh "SpringBoard") dengan ikon aplikasi, dan sebuah dock di bagian bawah layar di mana pengguna dapat melihat aplikasi yang paling sering mereka gunakan, disajikan setiap kali perangkat dihidupkan atau  Home Button ditekan. Layar ini memiliki status bar di bagian atas untuk menampilkan data, seperti waktu, tingkat baterai, dan kekuatan sinyal. Sisa layar dikhususkan untuk aplikasi yang sedang berjalan.
Sejak iOS versi 3.0, fungsi Spotlight Search telah tersedia di home screen, yang memungkinkan pengguna untuk mencari melalui media, aplikasi, email, kontak dan file serupa.
Folder
iOS 4 datang dengan pengenalan sistem folder tidak sederhana. Ketika aplikasi berada dalam "wiggled mode," setiap dua aplikasi dapat di-drag satu sama lain untuk membuat folder, dan sejak saat itu, setiap 10 aplikasi lainnya bisa ditambahkan ke folder dengan menggunakan prosedur yang sama (folder maksimum dapat menangani 12 pada iPhone dan iPod touch dan 20 di iPad). Hak untuk folder tersebut secara otomatis dipilih oleh jenis aplikasi di dalam folder, dan nama juga dapat diedit oleh pengguna.

Included Application
Home screen iOS ini berisi default "aplikasi". Beberapa aplikasi ini tersembunyi secara default dan diakses oleh pengguna melalui aplikasi Settings atau metode lain. (Misalnya, Nike + iPod diaktifkan melalui aplikasi Pengaturan). Semua utility, seperti memo suara, jam, kalkulator, dan kompas dalam satu folder bernama "Utility" dalam iOS 4.0. Banyak aplikasi yang disertakan telah dirancang untuk berbagi data (misalnya, nomor telepon dapat dipilih dari email dan disimpan sebagai kontak atau untuk melakukan panggilan telepon).
iPod touch mempertahankan aplikasi yang sama yang hadir secara default pada iPhone, dengan pengecualian untuk aplikasi Telepon, Pesan, Kompas dan Kamera (sebelum generasi ke-4). The "iPod" App hadir pada iPhone, dibagi menjadi dua aplikasi pada iPod Touch: Musik, dan Video. Baris bawah dari aplikasi ini juga digunakan untuk menggambarkan tujuan utama iPod touch: Musik, Video, Safari, dan App Store (Dock Layout berubah di 3.1 Update). Untuk iPod touch Generasi 4, itu termasuk FaceTime dan Kamera, dan tata letak dock telah berubah menjadi Musik, Mail, Safari, Video. iPad dilengkapi dengan aplikasi yang sama seperti iPod touch tidak termasuk Saham, Cuaca, Jam, Kalkulator, dan aplikasi Nike + iPod. Memisahkan aplikasi musik dan video yang disediakan, seperti pada iPod touch, meskipun (seperti pada iPhone) aplikasi musik diberi nama "iPod". Sebagian besar aplikasi standar benar-benar ditulis ulang untuk mengambil keuntungan dari tampilan iPad yang lebih besar. Tata letak default dock termasuk Safari, Mail, Foto dan iPod.

Multitasking
Sebelum iOS 4, multitasking terbatas pada pilihan aplikasi yang disertakan pada perangkat Apple. Apple khawatir bahwa menjalankan banyak aplikasi pihak ketiga secara bersamaan akan menguras baterai terlalu cepat. Dimulai dengan iOS 4, pada generasi ke-3 dan perangkat iOS yang lebih baru, multitasking didukung melalui tujuh latar belakang APIs:
1.      Background audio
2.      Voice over IP
3.      Background location
4.      Push notifications
5.      Local notifications
6.      Task finishing
7.      Fast app switching

Switching Application
Double-pressing home button mengaktifkan switcher application. Sebuah interface seperti dock yang dapat digulir muncul dari bawah, isi layar bergerak ke atas. Memilih ikon untuk beralih aplikasi. Ikon paling kiri adalah ikon yang berfungsi sebagai kontrol musik, dan kunci rotasi. Menahan ikon dengan singkat membuat ikon bergoyang (sama dengan home screen) dan memungkinkan pengguna untuk keluar dari aplikasi.

Game Center
Game Center adalah sebuah multiplayer online "game jaringan sosial" yang dirilis oleh Apple. Hal ini memungkinkan pengguna untuk "mengundang teman untuk memainkan permainan, memulai permainan multiplayer, melacak prestasi mereka, dan membandingkan nilai tinggi pada leader board". Game Center telah diumumkan dalam acara pratayang iOS 4 yang dipandu oleh Apple pada tanggal 8 April 2010. Sebuah preview diluncurkan ke pengembang Apple yang terdaftar pada Agustus. Preview ini dirilis pada tanggal 8 September 2010 dengan iOS 4.1 pada iPhone 4, iPhone 3GS dan iPod touch generasi ke-2 sampai generasi ke-4. Game Center membuat debut publik di iPad dengan iOS 4.2.1. Tidak akan ada dukungan untuk iPhone 3G dan iPhone asli. Namun, Game Center resmi tersedia pada iPhone 3G melalui hack.

Arsitektur iOS
Kernel yang ada di iOS adalah variant yang sama di temukan pada sistem operasi Mac OS X. Layer teratas dari arsitektur ini adalah aplikasi yang menghubungkan user dengan perangkat.

iOS Technology Layers

Layering ini memberikan Anda pilihan ketika Anda ingin mengerjakan pekerjaan coding Anda. Misalnya, layer Core OS dan Core Services yang berisi interface dasar untuk iOS, termasuk yang di gunakan untuk mengakses file, tipe data tingkat rendah, layanan bonjour, soket network, dan sebagainya. Interface-interface ini sebagian besar adalah C-based, dan memasukkan teknologi-teknologi seperti Core Foundation, CF Network, SQLite, dan akses ke thread POSIX dan soket Unix dengan yang lain.
Jika Anda bergerak ke lapisan atasnya, Anda akan menemukan teknologi yang lebih canggih, yang digunakan berdasar pada interface gabungan C dan Objective-C. Sebagai contoh, layer media berisi teknologi dasar yang mendukung grafis 2D dan 3D, audio dan video. Lapisan ini mencakup teknologi berbasis C-OpenGL ES, Quartz, dan Core Audio. Hal ini juga berisi Core Animation, yang merupakan mesin Objective-C berbasis animasi canggih
Pada lapisan Touch Cocoa, sebagian besar penggunaan teknologi Objective-C. Kerangka kerja di lapisan ini menyediakan infrastruktur dasar yang digunakan oleh aplikasi Anda. Sebagai contoh, kerangka Foundation memberikan dukungan berorientasi objek untuk koleksi, manajemen file, operasi jaringan, dan banyak lagi. Kerangka UIKit menyediakan infrastruktur visual untuk aplikasi Anda, termasuk kelas untuk windows, view, kontrol, dan pengendali yang mengelola objek tersebut. Kerangka kerja lain pada tingkat ini memberikan Anda akses untuk menghubungi pengguna dan informasi foto dan ke accelerometers dan fitur perangkat keras lainnya dari perangkat.
Titik awal untuk setiap proyek baru adalah layer Cocoa Touch, dan kerangka UIKit pada khususnya. Ketika memutuskan teknologi tambahan apa yang akan digunakan, Anda harus mulai dengan kerangka dalam lapisan tingkat yang lebih tinggi. Kerangka kerja tingkat yang lebih tinggi memudahkan untuk mendukung perilaku sistem standar dengan paling sedikit usaha di pihak Anda. Anda harus kembali ke kerangka kerja yang lebih rendah  hanya jika Anda ingin menerapkan perilaku adat yang tidak disediakan pada tingkat yang lebih tinggi.

Koding dengan iOS
Artinya adalah membuat aplikasi dengan iOS. Membuat aplikasi dengan iOS sama dengan Anda membuat aplikasi lain yang berbasis Microsoft Windows. Yang di perlukan adalah Developer Tool atau peralatan pengembangan aplikasi, SDK (Software Development Kit) yakni library yang di butuhkan untuk melengkapi program Anda. Kemudian Anda membutuhkan beberapa referensi untuk kegiatan koding Anda, salah satunya adalah UIKit, yang akan membantu Anda bagaimana membuat user interface yang bagus di iOS platform.
Setidaknya, bagi Anda yang newbie di bidang programming, boleh mencoba belajar koding pada iOS ini, karena saya jamin kedepannya, banyak aplikasi untuk perangkat ini sangat di butuhkan oleh user.
Nah, trus developer tool-nya pakai apa? Tidak usah kuatir sudah ada XCode yang di bundel dengan iOS SDK versi 4.2 yang bisa Anda download di situs developer.apple.com dan tentunya Anda harus memiliki komputer atau notebook dengan sistem operasi Mac OS X.
Sumber: Wikipedia, Situs Sony K Wibisono, S.Si, www.google.com