Minggu, 25 September 2011

PHP Hypertext Preprocessor


1. Pengenalan PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis.
PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.

Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah). Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut :
 Membaca permintaan dari client/browser
 Mencari halaman/page di server
 Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
 Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.
Mengapa PHP?
 PHP dapat dijalankan pada platform yang berbeda-beda (Windows, Linux, Unix, etc.)
 PHP merupakan web scripting open source
 PHP mudah dipelajari


echo “Hello”;
?>


Hello

Hello
HTTP request
WEB SERVER
CLIENT
Browser creates the web page
Server Response
Gets page

2. Syntax PHP
Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga kode PHP dapat ditulis hampir di semua editor text seperti windows notepad, windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser.
Contoh file PHP (contoh.php):


Print ("Contoh text yang menggunakan kode PHP");
?>

Pada file .html, HTTP server hanya melewatkan content dari file menuju ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu adalah tugas sebuah browser.
Pada file dengan ekstensi .php akan ditangani secara berbeda. Yang memiliki kode PHP akan diperiksa. Web server akan memulai bekerja apabila berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati semua content yang berisi kode HTML, CSS, JavaScript, simple text di browser tanpa diinterpretasikan di server.
Blok scripting PHP selalu diawali dengan . Blok scripting PHP dapat ditempatkan dimana saja di dalam dokumen. Pada beberapa server yang mendukung, blok scripting PHP dapat diawali dengan . Namun, untuk kompatibilitas maksimum, sebaiknya menggunakan bentuk yang standar ().
Setiap baris kode PHP harus diakhiri dengan semikolon (;). Semikolon ini merupakan separator yang digunakan untuk membedakan satu instruksi dengan instruksi lainnya.
PHP menggunakan // untuk membuat komentar baris tunggal atau /* dan */ untuk membuat suatu blok komentar.

3. Variabel PHP
Variabel digunakan untuk menyimpan suatu nilai, seperti text, angka atau array. Ketika sebuah variabel dibuat, variabel tersebut dapat dipakai berulang-ulang.
Pada PHP semua variabel harus dimulai dengan karakter '$'. Variabel PHP tidak perlu dideklarasikan dan ditetapkan jenis datanya sebelum kita menggunakan variabel tersebut. Hal itu berarti pula bahwa tipe data dari variabel dapat berubah sesuai dengan perubahan konteks yang dilakukan oleh user. Secara tipikal, variabel PHP cukup diinisialisasikan dengan memberikan nilai kepada variabel tersebut.
Contoh berikut akan mencetak "PHP" :
$text = "PHP";
print "$text";
Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text merupakan variabel yang berbeda. Built-in function dan structure tidak case-sensitive, sehingga echo dengan ECHO akan mengerjakan perintah yang sama. Identifier dapat berupa sejumlah huruf, digit/angka, underscore, atau tanda dollar tetapi identifier tidak dapat dimulai dengan digit/angka.
Aturan Penamaan Variabel
 Nama variabel harus diawali dengan sebuah huruf atau garis bawah (underscore) “_”
 Nama variabel hanya boleh mengandung karakter alpha-numeric dan underscore (a-Z, 0-9, dan _ )
 Nama variabel tidak boleh mengandung spasi.

4. String di PHP
Variabel string digunakan untuk nilai yang mengandung karakter string. Pada contoh berikut, skript PHP memberikan string "Hello World" pada variabel string bernama $txt :

$txt="Hello World";
echo $txt;
?>
Keluaran kode tersebut adalah : Hello World
Hanya ada satu operator string di PHP. Concatenation operator (.). digunakan untuk menggabungkan dua string. Contoh :

$txt1="Hello World";
$txt2="1234";
echo $txt1 . " " . $txt2;
?>
Keluaran kode tersebut adalah : Hello World 1234

5. Operator di PHP
Operator digunakan untuk menentukan sebuah nilai dengan melakukan suatu prosedur, atau dengan suatu operasi dari beberapa nilai. Nilai yang digunakan dalam sebuah operasi disebut operand. Penjumlahan adalah sebuah contoh sederhana dari suatu operasi.
Sebagai contoh : 2 + 4
2 dan 4 adalah sebuah operand. Ekspresi ini akan menghasilkan 6.
Arithmetic Operator (Operator Aritmatika)
PHP menggunakan operator arithmetic dasar :
Operator
Aksi
Contoh
Penejelasan
+
Penjumlahan
5 + 9
Menghasilkan nilai : 14
-
Pengurangan
9 - 4
Menghasilkan nilai : 5
*
Perkalian
5 * 6
Menghasilkan nilai : 30
/
Pembagian
20 / 4
Menghasilkan nilai : 5
%
Modulus
9 % 4
Menghasilkan nilai : 1
PHP mengabaikan karakter spasi dalam sebuah operasi. Ekspresi $x = 5 + 9 dengan dengan $x=5+9 akan menghasilkan nilai yang sama. Penggunaan spasi disesuaikan dengan keinginan dari para user.
Unary Operator
Tanda minus ( - ) digunakan dengan sebuah nilai numerik tunggal untuk menegatifkan sebuah bilangan (untuk membuat negatif bilangan postif atau membuat postif bilangan negatif).
Contoh :
$x = 2;
$y = -$x; // $y = -2
$i = -234;
$j = -$i; // $j = 234
Variable Assignment Operator
Tanda sama dengan ( = ) digunakan untuk mengatur atau menetapkan nilai suatu variabel. Oleh karena itu tanda tersebut dikenal sebagai operator penugasan.
Contoh :
$x = 1;
$y = x + 1;
$luas = $panjang * $lebar;
$statements = "Yes";
Variabel disebelah kiri tanda ( = ) akan diberikan nilai dari ekspresi disebelah kanan tanda ( = ).
Comparison Operator (Operator Perbandingan)
Operator perbandingan digunakan untuk menguji suatu kondisi. Ekspresi yang menggunakan operator perbandingan akan selalu menghasilkan nilai boolean, yaitu antara true (benar) atau false (salah).
Contoh :
$i = 4;
if ($i < 6) print "akan dilakukan pencetakan";
// ekspresi '$i < 6' adalah benar
if ($i > 6) print "tidak akan tercetak";
// ekspresi '$i > 6' adalah salah
Beberapa operator perbandingan yang lain adalah sebagai berikut :
Operator
Arti
Contoh
Menghasilkan benar (true) ketika :
==
Sama dengan
$i == $j
$i dan $j mempunyai nilai yang sama
<
Kurang dari
$i < $j
$i kurang dari $j
>
Lebih dari
$i > $j
$i lebih dari $j
<=
Kurang dari atau sama dengan
$i <= $j
$i kurang dari atau sama dengan $j
>=
Lebih dari atau sama dengan
$i >= $j
$i lebih dari atau sama dengan $j
!=
Tidak sama dengan
$i != $j
$i tidak sama dengan $j
<>
Tidak sama dengan
$i <> $j
$i tidak sama dengan $j
===
Identik
$a === $b
Benar jika $a sama dengan $b, dan keduanya memiliki type data yang sama.(hanya dalam PHP4)
Ingat !
Tanda ( == ) merupakan operator perbandingan untuk menguji suatu variabel sedangkan tanda ( = ) adalah operator penugasan untuk memberikan nilai kepada suatu variabel. Perhatikan dua contoh dibawah ini.
Contoh salah !
$i = 3;
if($i = 5) print "lima";
// akan mencetak lima. Pernyataan $i=3 akan diabaikan
$i = 3;
if(5 = $i) print "lima";
/* parse error terdapat kesalahan. PHP berusaha memberikan nilai
$i kepada bilangan 7
*/
Contoh Benar !
$i = 3;
if($i == 5) print "lima";
// $i == 5 menghasilkan nilai false (salah) sehingga pernyataan
// print "lima" tidak dijalankan.
$i = 3;
if(5 == $i) print "lima";
// 5 == $i menghasilkan nilai false (salah) sehingga pernyataan
// print "lima" tidak dijalankan.
$a = "7";
$b = 7.00;
print ($a == $b); // mencetak 1 (true)
print (($a == $b) and (gettype($a) == gettype($b))); // mencetak 0
Logical Operator (Operator Logika)
Operator logika digunakan untuk mengkombinasikan kondisi, sehingga beberapa kondisi dapat dievaluasi atau diperiksa dalam sebuah ekspresi. Sebagai contoh logika AND akan bernilai true jika semua kondisi benar. Tabel berikut ini menunjukkan semua anggota dari operator logika :
Operator
Contoh
Bernilai benar jika :
AND / and
$i && $j atau $i AND $j
$i dan $j bernilai bernilai benar
OR / or
$i || $j atau $i OR $j
Salah satu atau kedua variabel bernilai benar
XOR
$i XOR $j
Salah satu variabel bernilai benar, tetapi tidak keduanya benar
NOT
!$i
$i tidak bernilai benar
Contoh :
$i = 1;
$j = 2;
$k = 3;
if($i==1 && $j==2 && $k==3) print "akan tercetak";
// akan mengeksekusi pernyataan print
if($i==1 OR $k==3) print "akan tercetak";
// akan mengeksekusi pernyataan print
if($i==1 XOR $j==2) print "akan tercetak";
// tidak mengeksekusi pernyataan print karena kedua variabel //bernilai benar
if !($i==1 && $k==3) print "akan tercetak";
// tidak akan mengeksekusi pernyataan print
if (($i==1 && $k==3) XOR ($i==1 || $j=2) XOR ($i==1)) print "akan tercetak";
// akan mengeksekusi pernyataan print
String Concatenation Operator
Tanda titik ( . ) sebagai operator concatenate (penggabung) digunakan untuk menggabungkan dua atau lebih nilai string menjadi sebuah string tunggal.
Contoh :
$subjek = "saya";
$predikat = "sedang belajar";
$objek = "PHP";
$kalimat = $subjek." ".$predikat." ".$objek;
print $kalimat; // akan mencetak saya sedang belajar PHP
print "$kalimatversi 3"; // akan akan mencetak 3
print "$kalimat versi 3"; // akan mencetak saya sedang belajar PHP versi 3
print "${kalimat} versi 3";// akan mencetak saya sedang belajar PHP versi 3
$bilangan = "1 ";
$bilangan .= "2 ";
$bilangan .= "3";
print $bilangan; // akan mencetak 1 2 3
Variable Assignment Shortcut
Pada PHP dimungkinkan untuk melakukan penggunaan jalan pintas untuk operator pada pernyataan penugasan dimana operand pertama adalah sebuah variabel dan hasilnya disimpan pada variabel yang sama.
Contoh
Ekivalen dengan
$x += $y
$x = $x + $y
$x -= $y
$x = $x - $y
$x *= $y
$x = $x * $y
$x /= $y
$x = $x / $y
$x %= $y
$x = $x % $y
$x &= $y
$x = $x & $y
$x |= $y
$x = $x | $y
$x ^= $y
$x = $x ^ $y
$x .= $y
$x = $x . $y
$x >>= 2
$x = $x >> 2
$x <<= 2
$x = $x << 2
$x++
$x = $x + 1
$x--
$x = $x - 1
Contoh :
$x = 10; // $x bernilai 10
$x++; // $x bernilai 11
$x = 10; // $x bernilai 10
++$x; // $x bernilai 11
tetapi,
$x = 10; // $x bernilai 10
$y = $x++; // $x bernilai 11 tetapi $y bernilai 10
$x = 10; // $x bernilai 10
$y = ++$x; // $x dan $y bernilai 11
// penugasan terjadi setelah penambahan

6. Control Structures di PHP
Skrip PHP terdiri dari rangkaian pernyataan. Sebuah pernyataan dapat berupa assignment, pemanggilan fungsi, sebuah loop, pernyataan kondisional atau bahkan pernyataan kosong. Pernyataan biasanya diakhiri dengan semikolon. Sebagai tambahan, pernyataan-pernyataan dapat dikelompokkan menjadi suatu kelompok pernyataan menggunakan kurung kurawal ( {} ). Sebuah kelompok pernyataan merupakan sebuah pernyataan juga.
 IF
Syntax : if (expr) statement
Contoh : - if ($a > $b) print "a is bigger than b";
- Jika statemen lebih dari satu maka :
if ($a > $b) {
print "a is bigger than b";
$b = $a;
}
 Else
if ($a > $b) {
print "a is bigger than b";
} else {
print "a is NOT bigger than b";
}
 Elseif
if ($a > $b) {
print "a is bigger than b";
} elseif ($a == $b) {
print "a is equal to b";
} else {
print "a is smaller than b";
}
 Switch
Pernyataan switch mirip dengan rangkaian pernyataan IF dengan ekspresi yang sama. Pernyataan switch digunakan untuk membandingkan variabel yang sama (atau ekspresi) dengan banyak nilai yang berbeda, dan menjalankan kode-kode yang berbeda tergantung pada nilai mana variabel tersebut sama.
Sangat penting untuk memahami bagaimana pernyataan switch dieksekusi agar terhindar dari kesalahan. Pernyataan switch dieksekusi per pernyataan. Di awal, tidak ada kode yang dieksekusi. Ketika pernyataan case sesuai dengan ekspresi pada switch, PHP mulai mengeksekusi pernyataan-pernyataan tersebut. PHP terus mengeksekusi pernyataan-pernyataan tersebut hingga akhir blok switch, atau pada saat pertama kali bertemu pernyataan break. Jika tidak ada pernyataan break, PHP akan mengeksekusi pernyataan-pernyataan pada case berikutnya. Contoh:
switch ($i) {
case 0:
print "i equals 0";
case 1:
print "i equals 1";
case 2:
print "i equals 2";
}
Pada pernyataan switch, kondisi (ekspresi) hanya diperiksa sekali dan hasilnya dibandingkan dengan setiap pernyataan case.
 While
Perulangan while merupakan perulangan yang paling sederhana di PHP. Bentuk dasar pernyataan while adalah :
while (expr) statement
Pada while, PHP mengeksekusi pernyataan-pernyataan bersarang (nested statement(s)) berulang-ulang, selama ekspresi yang dievaluasi bernilai benar (TRUE). Nilai ekspresi tersebut diperiksa setiap saat di awal perulangan. Jika hasil evaluasi ekspresi adalah salah (FALSE) sejak awal, pernyataan-pernyataan bersarang tersebut tidak akan dijalankan meskipun sekali.
Contoh :
$i = 1;
while ($i <= 10) {
print $i++; /* the printed value would be
$i before the increment
(post-increment) */
}
 Do ... while
Perulangan do..while loops hamper sama dengan perulangan while, kecuali kebenaran ekspresi dicek di akhir iterasi. Perbedaan mendasar dari perulangan while adalah iterasi pertama pada do…while pasti akan dijalankan.
Contoh :
$i = 0;
do {
print $i;
} while ($i>0);
 For
Syntax : for (expr1; expr2; expr3) statement
Ekspresi pertama (expr1) dievaluasi (dieksekusi) sekali di awal perulangan. Di awal setiap iterasi, expr2 dievaluasi. Jika benar, perulangan dilanjutkan dan pernyataan-pernyataan bersarang dieksekusi. Jika salah, perulangan dihentikan. Di akhir setiap iterasi, expr3 dievaluasi (dieksekusi).
Contoh :
for ($i = 1; $i <= 10; $i++) {
print $i;
}

7. Array di PHP
Array sederhana
Dalam PHP, sebuah variabel dapat dinyatakan sebagai sebuah tempat untuk sebuah nilai tunggal. Sedangkan Array adalah sebuah tempat untuk sekumpulan nilai. Sebuah array terdiri dari sejumlah element, yang masing-masing memiliki sebuah nilai - data yang tersimpan pada elemen array tersebut - dan sebuah key atau index, dimana elemen tersebut dapat dirujuk. Normalnya, sebuah index berupa integer. Secara default, array adalah basis nol, artinya elemen pertama dari array memiliki index nol. akan tetapi index dapat juga berupa string.
Bentuk sederhana array terdiri dari serangkaian elemen yang bertanda dimulai dari nol dan bertambah secara sekuensial. Sebagai contoh sebuah array bernama $branch, setiap elemen berisi nama kota cabang sebuah perusahaan.
$branch[0]
$branch[1]
$branch[2]
$branch[3]
$branch[4]
"Semarang"
"Surabaya"
"Medan"
"Bandung"
"Yogyakarta"
Array dalam PHP dapat berisi elemen dari sejumlah tipe data yang berbeda. Artinya array dalam PHP tidak harus memiliki tipe data yang sama. Setiap elemen dapat berupa tipe data apa saja.
Ada tiga jenis array di PHP:
 Numeric array – Array dengan dengan kunci ID numerik
 Associative array – Array dimana setiap kunci ID berasosiasi dengan sebuah nilai
 Multidimensional array - Array yang menyimpan satu atau lebih array
Inisialisasi array
Ada banyak cara untuk melakukan inisialisasi sebuah array. Cara pertama yang sederhana adalah cukup dengan memberikan nilai kepada variabel array.
$branch[] = "Semarang";
$branch[] = "Surabaya";
$branch[] = "Medan";
Jika tanda kurung siku pada variabel array tidak diberikan nilai index, maka secara default maka element sebenarnya bernilai index 0,1,2,.... contoh dibawah akan menghasilkan array yang sama dengan contoh diatas.
$branch[0] = "Semarang";
$branch[1] = "Surabaya";
$branch[2] = "Medan";
Dalam prakteknya, pemberian index dilakukan secara sekuensial atau berurutan. Tetapi dilain hal dapat dilakukan peng-indekkan secara acak sesuai keinginan user.
$branch[20] = "Semarang";
$branch[22] = "Surabaya";
$branch[23] = "Medan";
print $branch[23] // print Medan
Array tersebut memiliki tiga buah elemen juga tetapi indeksnya merupakan bilangan acak yaitu 20, 22, 23.
Jika menginginkan jumlah dari elemen array yang terdapat pada sebuah variabel array, dapat digunakan fungsi count(). Fungsi tersebut mengembalikan nilai fungsi berupa integer yang menyatakan jumlah elemen array.
$branch[20] = "Semarang";
$branch[23] = "Surabaya";
$branch[] = "Medan"; // memiliki indeks 24
// bilangan indeks kedua setelah
// bilangan indeks terbesar
print count ($branch) // print 3
print $branch[] // print nothing
print $branch[24] // print Medan
Cara lain untuk menginisialisasi array adalah dengan konstruksi array array(). Nilai dikirimkan kedalam array yang akan diberikan.
$branch = array("Semarang", "Surabaya", "Medan");
print $branch[2]; // print Medan
Jika user ingin mengesampingkan indeks secara default, operator (=>) dapat digunakan untuk memberikan indeks spesifik untuk elemen array. Pada contoh sebelumnya $branch memiliki tiga elemen dengan indeks 0, 1, dan 2. jika user menginginkan array dengan basis satu (indeks dimulai dari 1, 2, 3, ...), maka dapat dituliskan dengan menggunakan operator (=>).
$branch = array(1 => "Semarang", "Surabaya", "Medan");
$city = array("Solo", 7 => "Gresik", "Brastagi");
print $branch[3]; // print Medan
print $city[8]; // print Brastagi

8. Form di PHP
    Contoh Form :




     Name :  
     Age    :  

    



Contoh halaman HTML di atas mengandung dua field input dan sebuah tombol submit. Ketika user mengisi form dan mengklik tombol submit, data form akan dikirim ke file.
File "welcome.php" :


Welcome .
You are years old.


Keluaran dari skrip tersebut adalah :
Welcome John.
You are 28 years old.
Untuk mengambil data form di PHP digunakan variabel $_GET atau $_POST.

Android Honeycomb



Google telah merilis sistem operasi Android 3.0 Honeycomb, dan preview dari software development kit (SDK), memungkinkan pengembang mobile untuk mendapatkan aplikasi ini lebih dulu dan mengetahui apa yang ditawarkan oleh sistem operasi pertama untuk perangkat Tablet ini. Sistem operasi Honeycomb, disebut-sebut sebagai sistem operasi yang paling cocok untuk dipasang pada perangkat tablet dan sangat mendukung untuk dijalankan pada perangkat dengan layar lebih besar, dengan interface baru yang bernama “hologram”, multitasking yang lebih baik, notifikasi, widget dan lain-lain.
Sekarang SDK dari sistem operasi tersebut telah tersedia untuk publik, kita bisa melihat apa yang dimiliki Honeycomb. SDK ini menawarkan API (application programming interface) non-final hanya untuk keperluan pengujian. Google mengatakan rilis – beberapa minggu sebelum versi final – dimaksudkan untuk memungkinkan pengembang untuk membiasakan diri dengan pola-pola baru UI, API dan kemampuan yang ada.
Jika yang kita inginkan hanya untuk mengtahui isi dari sistem ini, saya kira kita tidak usah menguji apapun, karena informasi ini bisa didapat dari forum dan beberapa situs di Internet.
Beberapa fitur baru terkemuka di Honeycomb antara lain meliputi :
  • UI Framework untuk membuat aplikasi yang disesuaikan untuk perangkat dengan layar yang lebih besar: Pengembang dapat menggunakan komponen UI baru, tema baru, widget, dan notification, drag dan drop, dan fitur baru lainnya untuk membuat aplikasi kaya dan menarik bagi pengguna pada perangkat layar yang lebih besar.
  • Grafis 2D dan 3D performa tinggi: Kerangka animasi baru denga basis property memungkinkan pengembang menambahkan efek visual yang lebih menarik untuk aplikasi mereka. Sebuah renderer GL built-in memungkinkan pengembang melakukan akselerasi 2D rendering umum operasi di aplikasi mereka, di seluruh aplikasi atau hanya dalam kegiatan-kegiatan tertentu. Untuk menambahkan adegan 3D yang kaya, pengembang mengambil keuntungan dari mesin grafis 3D baru yang disebut Renderscript.
  • Dukungan untuk arsitektur prosesor multicore: Android 3.0 dioptimalkan untuk berjalan di kedua prosesor tunggal atau dual-core, sehingga aplikasi berjalan dengan kinerja terbaik mereka.
  • Kaya multimedia: Fitur baru multimedia seperti dukungan Live HTTP streaming, kerangka DRM pluggable, dan mudah mentransfer file media melalui MTP/PTP, memberikan pengembang cara-cara baru untuk membawa konten yang kaya kepada pengguna.
  • Jenis konektivitas baru: API baru untuk Bluetooth A2DP dan HSP membiarkan aplikasi menawarkan kontrol audio streaming dan headset. Dukungan untuk koneksi soket aman Bluetooth memungkinkan aplikasi terhubung ke perangkat sederhana yang mungkin tidak memiliki interface pengguna.
  • Fitur tambahan untuk perusahaan: kebijakan administratif baru, seperti untuk penyimpanan dienkripsi dan sandi temporer, membantu administrator perusahaan yang mengelola perangkat lebih efektif.
Salah satu perubahan paling dramatis dalam Honeycomb, yang paling baik untuk perspektif pengguna adalah adanya perubahan user interface (UI) yang terlihat tidak seperti yang kita lihat di ponsel Android saat ini. Dari situs sendiri Pengembang Google, ada sejumlah screenshot baru dan rincian tentang perubahan UI. Ini termasuk:
  • System Bar: Bar pemberitahuan dari ponsel Android telah berubah menjadi “Sistem Bar,” yang sekarang tinggal di bagian bawah layar. Dari sini, kita dapat mengakses pemberitahuan, status sistem dan tombol navigasi lunak (Back, Home dan Apps terbaru). Pada beberapa ponsel Android, aplikasi baru-baru ini tidak memiliki tombol khusus sendiri, tetapi itu dipanggil dengan menekan tombol Home agak lama – itulah cara kerjanya pada Nexus S.
  • Action Bar: Daerah Menu dari ponsel Android telah menjadi Action Bar Honeycomb. Sekarang di bagian atas layar, bar ini menyediakan akses ke opsi kontekstual, navigasi, widget dan konten lainnya, sebagaimana ditentukan oleh aplikasi yang sedang berjalan. Action bar ini mirip dengan cara Mac OS bekerja, di mana aplikasi berada dan pilihan menu yang terlihat ada di bagian atas layar.
  • Customizable Homescreens: Honeycomb dilengkapi dengan lima homescreens yang dapat disesuaikan oleh pengguna, kita dapat menambahkan widget, cara pintas aplikasi dan wallpaper. Setiap homescreens menawarkan launcher(=peluncur) untuk akses ke semua aplikasi dan kotak pencarian untuk aplikasi, kontak, file media, konten Web dan banyak lagi.
Recent Apps: Visual multitasking diaktifkan melalui tombol Recent Apps, seperti dijelaskan di atas. Sekarang tombol ini berada di System Bar, aplikasi yang paling baru diakses akan menampilkan dengan snapshot dari keadaan yang sebenarnya pada saat terakhir dilihat.
  • Keyboard Baru: keyboard Honeycomb menawarkan tombol dengan tampilan wajah yang baru yang telah direposisi untuk dapat digunakan lebih baik dan lebih mudah. kunci baru, termasuk Tab misalnya, telah ditambahkan juga. Termasuk adanya tombol emoticon khusus
  • Fitur Copy-dan-Paste yang lebih baik: Fungsi copy / paste telah di-upgrade juga. Sekarang, tekan-tahan mengaktifkan “pilih” fungsi, maka Anda dapat menarik panah untuk menyesuaikan ukuran area yang dipilih. Dari Aksi Bar, Anda dapat menyalin, berbagi, paste, pencarian Web atau mencari.
  • Opsi Konektivitas: Honeycomb menawarkan dukungan untuk Media Transfer / Photo Protocol secara built-in yang memungkinkan Anda mensinkronkan dengan kamera USB yang terhubung. Anda juga dapat memasang keyboard USB atau Bluetooth pada perangkat ini. Fungsi Bluetooth tethering juga telah disertakan dan fitur WiFi telah diperbaiki.


Fitur baru di Honeycomb juga adanya perubahan utama pada aplikasi Android standar seperti Browser, Kamera, Galeri, Kontak dan Email.
  • Browser: Browser diperbarui sekarang menawarkan tabbed browsing, mode Incognito (penyamaran) untuk browsing tersembuinyi. Fungsi bookmark dan history dalam pandangan yang seragam. Sign-in otomatis untuk situs Google, seperti penunjuk sinkron dengan Chrome, isyarat multitouch untuk JavaScript dan plugin dan ada sebuah peningkatan zoom dan modus viewport.
  • Kamera dan Galeri: app Kamera mengambil keuntungan dari layar besar dengan akses mudah ke eksposur, fokus, flash, zoom dan menghadap ke depan kamera, yang terakhir yang dirancang untuk konferensi video. Foto dalam galeri sekarang dapat dilihat secara fullscreen juga.
  • Kontak: Aplikasi kontak telah diperbarui memiliki UI dua-pane dan Fast Scroll. Info kontak disajikan dalam UI seperti kartu juga.
  • Email: Aplikasi email juga menggunakan UI dua-pane untuk mengatur pesan. Anda dapat memilih beberapa pesan sekaligus dan kemudian melakukan aksi dengan Bar Action. Ada homescreen widget Email baru untuk mengawasi email secara sepintas.
Daftar Pustaka :
http://www.detikinet.com/read/2011/02/04/130415/1560050/317/honeycomb-tidak-cocok-untuk-smartphone/

Manusia Dan Pandangan Hidup

Dua kekayaan manusia yang paling utama ialah “Akal dan Budi” atau lazimnya disebut pikiran dan perasaan. Disatu sisi akal dan budi atau pikiran dan perasaan tersebut telah memungkinkan munculnya tuntutan-tuntutan hidup manusia yang lebih daripada tuntutan hidup makhluk lain.
Disisi lain akal dan budi memungkinkan munculnya karya-karya manusia yang sampai kapanpun tidak pernah akan dapat dihasilkan oleh makhluk lain. Cipta, karsa, dan rasa pada manusia yakni sebagai buah akal budinya terus melaju tanpa hentinya berusaha menciptakan benda-benda baru untuk memenuhi kebutuhan / hajat hidupnya. Baik yang bersifat jasmani maupun rohani. Dari proses ini maka lahirlah apa yang disebut kebudayaan dan pandangan terhadap hidup. Jadi pada hakikatnya, kebudayaan dan pandangan terhadap hidup ini tidak lain adalah segala sesuatu yang dihasilkan oleh akal budi manusia.
Dalam pikiran dan perasaan manusia, ada beberapa faktor penting yang harus menjadikan manusia sebagai makhluk yang berakal, yakni :
1. Pandangan Hidup
Pandangan Hidup merupakan suatu dasar atau landasan untuk membimbing kehidupan jasmani dan rohani. Pandangan hidup ini sangat bermanfaat bagi kehidupan individu, masyarakat, atau negara. Semua perbuatan, tingkah laku dan aturan serta undang-undang harus merupakan pancaran dari pandangan hidup yang telah dirumuskan.
Pandangan hidup sering disebut filsafat hidup. Filsafat berarti cinta akan kebenaran, sedangkan kebenaran dapat dicapai oleh siapa saja. Hal inilah yang mengakibatkan pandangan hidup itu perlu dimiliki oleh semua orang dan semua golongan.
Setiap orang, baik dari tingkatan yang paling rendah sampai dengan tingkatan yang paling tinggi, mempunyai cita-cita hidup. Hanya kadar cita-citanya sajalah yang berbeda. Bagi orang yang kurang kuat imannya ataupun kurang luas wawasannya, apabila gagal mencapai cita-cita, tindakannya biasanya mengarah pada hal-hal yang bersifat negative.
Disinilah peranan pandangan hidup seseorang. Pandangan hidup yang teguh merupakan pelindung seseorang. Dengan memegang teguh pandangan hidup yang diyakini, seseorang tidak akan bertindak sesuka hatinya. Ia tidak akan gegabah bila menghadapi masalah, hambatan, tantangan dan gangguan, serta kesulitan yang dihadapinya.
Biasanya orang akan selalu ingat, taat, kepada Sang Pencipta bila sedang dirudung kesusahan. Namun, bila manusia sedang dalam keadaan senang, bahagia, serta kecukupan, mereka lupa akan pandangan hidup yang diikutinya dan berkurang rasa pengabdiannya kepada Sang Pencipta. Hal ini disebabkan oleh beberapa factor, antara lain :
  1. Kurangnya penghayatan pandangan hidup yang diyakini.
  2. Kurangnya keyakinan pandangan hidupnya.
  3. Kurang memahami nilai dan tuntutan yang terkandung dalam pandangan hidupnya.
  4. Kurang mampu mengatasi keadaan sehingga lupa pada tuntutan hidup yang ada dalam pandangan hidupnya.
  5. Atau sengaja melupakannya demi kebutuhan diri sendiri.
Pandangan hidup tidak sama dengan cita-cita. Sekalipun demikian, pandangan hiup erat sekali kaitannya dengan cita-cita. Pandangan hidup merupakan bagian dari hidup manusia yang dapat mencerminkan cita-cita atau aspirasi seseorang dan sekelompok orang atau masyarakat.
Pandangan hidup merupakan sesuatu yang sulit untuk dikatakan, sebab kadang-kadang pandangan hidup hanya merupakan suatu idealisme belaka yang mengikuti kebiasaan berpikir didalam masyarakat. Manuel Kaisiepo (1982) dan Abdurrahman Wahid (1985) berpendapat bahwa pandangan hidup itu bersifat elastis. Maksudnya bergantung pada situasi dan kondisi serta tidak selamanya bersifat positif.
Pandangan hidup yang sudah diterima oleh sekelompok orang biasanya digunakan sebagai pendukung suatu organisasi disebut ideology. Pandangan hidup dapat menjadi pegangan, bimbingan, tuntutan seseorang ataupun masyarakat dalam menempuh jalan hidupnya menuju tujuan akhir.

Pemrograman Berorientasi Obyek


OOP adalah sebuah pemrograman yang menggunakan "Objek" - struktur data yang terdiridaridatafieldsdanmetodebersamadenganinteraksimereka - untuk merancang aplikasi dan program komputer.Teknik pemrograman dapat mencakup fitur seperti menyembunyikani nformasi, data abstraksi, enkapsulasi, modularitas, polimorfisme, danpewarisan.Itu tidak umum digunakan dalam pengembangan aplikasi perangkat lunak arus utama.Banyak modern bahasa pemrograman sekarang mendukung OOP
Pemrograman berorientasi obyek dikembangkan sebagai metodologi pemrograman yang dominan selama pertengahan 1990-an, sebagian besar disebabkan oleh pengaruh C + +. Dominasinya itu makin diperkuat oleh meningkatnya popularitas dari antarmuka pengguna grafis, yang pemrograman berorientasi obyek tampaknya cocok. Contoh dari GUI dinamis terkait erat dengan perpustakaan dan bahasa OOP dapat ditemukan di Kakao kerangka kerja di Mac OS X, yang ditulis di Objective-C, sebuah object-oriented, dinamis ekstensi pesan ke C didasarkan pada Smalltalk. OOP toolkit juga meningkatkan popularitas pemrograman kendali-event (walaupun konsep ini tidak terbatas pada OOP). Sebagian merasa bahwa asosiasi dengan GUI (nyata atau tidak) adalah apa yang didorong ke dalam pemrograman OOP arus utama.
Sama seperti pemrograman prosedural mengarah pada perbaikan teknik seperti pemrograman terstruktur, modern berorientasi objek metode desain perangkat lunak mencakup perbaikan seperti penggunaan pola desain, design by kontrak, dan pemodelan bahasa (seperti UML). OOPS istilah yang mengacu pada sebuah bject o-o riented p rogramming system, adalah umum terjadi di awal pengembangan pemrograman berorientasi obyek.
Ada beberapa upaya memformalkan konsep-konsep yang digunakan dalam pemrograman berorientasi obyek. Berikut konsep dan konstruksi telah digunakan sebagai interpretasi dari konsep OOP:
·         tipe data abstrak (yang memiliki jenis eksistensial) memungkinkan definisi modul tetapi ini tidak mendukung pengiriman dinamis
·         rekursif jenis
·         catatan adalah dasar untuk memahami objek jika fungsi literal dapat disimpan dalam bidang-bidang (seperti dalam bahasa pemrograman fungsional), tetapi perlu kalkuli sebenarnya jauh lebih kompleks untuk memasukkan fitur-fitur penting dari OOP.
Bahasa OOP
Simula (1967) secara umum diterima sebagai bahasa pertama untuk memiliki fitur-fitur utama dari sebuah bahasa berorientasi objek. Hal ini diciptakan untuk membuat program simulasi, di mana apa yang kemudian disebut objek adalah representasi informasi yang paling penting. Smalltalk (1972-1980) adalah dapat dikatakan sebagai contoh kanonik, dan satu dengan yang banyak teori pemrograman berorientasi objek adalah dikembangkan.
·         Bahasa disebut "murni" OO bahasa, karena segala sesuatu di dalamnya diperlakukan secara konsisten sebagai sebuah objek, dari primitif seperti karakter dan tanda baca, sepanjang jalan sampai ke seluruh kelas, prototip, blok, modul, dll Mereka dirancang secara khusus untuk memfasilitasi, bahkan menegakkan, metode OO. Contoh: Smalltalk, Eiffel, Ruby, JADE
·         Bahasa dirancang terutama untuk pemrograman OO, tapi dengan beberapa elemen prosedural. Contoh: C + +, Java, Python.
·         Bahasa yang secara historis bahasa prosedural, tetapi telah diperluas dengan beberapa fitur OO. Contoh: Fortran 2003, Perl, COBOL 2002.
·         Bahasa dengan sebagian besar fitur objek (kelas, metode, warisan, usabilitas), tapi dalam bentuk aslinya jelas. Contoh: Oberon (Oberon-1 atau Oberon-2).
·         Bahasa dengan tipe data abstrak dukungan, tetapi tidak semua fitur object-orientasi, kadang-kadang disebut objek berbasis bahasa. Contoh: Modula-2 (dengan sangat baik dan informasi enkapsulasi menyembunyikan), liat, CLU.
Konsep object oriented memiliki karakteristik utama yaitu :
1.      Enkapsulasi, sebuah prinsip yang digunakan ketika membangun struktur program secara keseluruhan yang mana setiap komponen dari program dibungkus, pembungkusan properti dan operasi dalam satu even. Secara simple dapat kita katakan bahwa kita menyembunyikan keruwetan kode-kode program dalam suatu object.
2.      Polimorphism, suatu kondisi dimana dua object atau lebih mempunyai antarmuka yang identik namun mempunyai perilaku berbeda.
3.      Inheritance (pewarisan), merupakan sarana untuk menghilangkan penulisan ulang terhadap kode yang dapat digunakan berulang kali yang didasarkan pada hubungan relasional hirarki.
Sebelum kita memasuki dalam bahasa pemrograman, sebaiknya ada beberapa hal yang kita selalu kita ingat dan kita pegang :
1.      Program yang akan kita buat adalah terdiri dari sekumpulan object yang saling berinteraksi/ saling mengirimkan pesan. Misalnya kita asumsikan program kita adalah sebuah mobil, dan bagian-bagian dari mobil tersebut adalah object-object (mesin, rangka mobil dan lain sebagainya) yang saling berhubungan dan menjadi satu kesatuan yang membangun mobil tersebut
2.      Berfikirlah object sebagai tipe “data buatan” (seperti struct, Enum). Namun tipe “data buatan” ini memiliki kelebihan yaitu dapat menyimpan informasi (sebagai property) dan juga dapat melakukan “aktivitas” (sebagai method/ fungsi)
Setiap object memiliki “tipe” tersendiri. Tipe disini dimaksudkan agar kita dapat mengetahui “pesan” apa yang dapat kita kirimkan terhadap object tersebut. Atau dengan kata lain dengan mengetahui “tipe” suatu object kita dapat memanggil fungsi yang terdapat didalamnya ataupun informasi yang disimpan oleh object tersebut
Dalam beberapa tahun terakhir, pemrograman berorientasi objek telah menjadi sangat populer dalam bahasa pemrograman scripting. Python, Ruby dan groovy adalah bahasa scripting yang dibangun di atas prinsip-prinsip OOP, sementara Perl dan PHP telah menambahkan fitur berorientasi objek sejak Perl 5 dan PHP 4, dan ColdFusion sejak versi 6.
Kedua pemrograman berorientasi objek dan sistem manajemen database relasional (RDBMSs) adalah sangat umum dalam perangkat lunak hari ini. Karena database relasional tidak menyimpan objek secara langsung (meskipun beberapa RDBMSs memiliki fitur berorientasi objek untuk perkiraan ini),
OOP dapat digunakan untuk menerjemahkan dari fenomena dunia nyata untuk elemen program (dan sebaliknya). OOP bahkan diciptakan untuk tujuan pemodelan fisikdalam Simula-67 bahasa pemrograman. Namun, tidak semua orang setuju bahwa dunia nyata langsung pemetaan yang difasilitasi oleh OOP, atau bahkan tujuan yang berharga; Bertrand Meyer berpendapat di Object-Oriented Software Konstruksi bahwa program ini tidak model dunia tetapi sebuah model dari beberapa bagian dari dunia; "Realitas adalah sepupu dua kali dihapus". Pada saat yang sama, beberapa keterbatasan utama OOP sudah diketahui. Namun, kata NiklausWirthdari OOP dalam akalahnya "Selamat Ide melalui Looking Glass", "erat paradigma ini mencerminkan struktur sistem 'di dunianyata', dan oleh karena itu cocok untuk model sistem kompleks dengan perilaku kompleks".

Interaksi Manusia dan Komputer


HAL-HAL YANG MENDASARI ADANYA IMK

Yang mendasari adanya IMK adalah karena kebutuhan manusia untuk berinteraksi dengan computer yaitu  emnggunakan sejumlah menu maupun teks.atau juga bias menggunakan alat bantu masukan(input),yang berupa nouse ataupun keyboard.dan juga memerlukan alat bantu keluaran(output unit),yang dimana data-data tersebut dapat disimpan dalam media penyimpanan yang biasa disebut memori unit.
Prinsip kerja komputer = input – proses – output.Kepada komputer diberikan data yang umumnya berupa deretan angka dan huruf. Kemudian diolah didalam komputer yang menjadi keluaran sesuai dengan kebutuhan dan keinginan manusia.
Tanpa disadari kita (manusia/user) telah berinteraksi atau berdialog dengan sebuah benda (layar monitor), yaitu dalam bentuk menekan tombol berupa tombol angka dan huruf yang ada pada keyboard atau melakukan satu sentuhan kecil pada mouse.
Yang kemudian hasil inputan ini akan berubah bentuk menjadi informasi atau data yang seperti diharapkan manusia dengan tertampilnya informasi baru tersebut pada layar monitor atau bahkan mesin pencetak (printer).
Manusia pada umumnya tidak pernah tahu apa yang terjadi pada saat data dimasukkan ke dalam kotak cpu melalui keyboard. Manusia (user) selalu terfokus pada monitor/printer sebagai keluaran.
Manusia jarang sekali menyadari proses interaksi dengan komputer. Manusia barumenyadari proses interaksi tersebut saat menemukan masalah dan tidak menemukan solusi pemecahannya. Biasanya manusia menyalahkan antarmuka yang kurang inovatif, kurang menarik, kurang komunikatif.


Interaksi bisa dikatakan dialog antara user dengan komputer.
Model atau jenis interaksi, antara lain :
1. Command line interface (perintah baris tunggal)
contoh : unix, linux, dos
2. Menu (menu datar dan menu tarik)
contoh : hampir semua software menggunakan menu
3. Natural language (bahasa alami)
contoh : bahasa pemrograman terstruktur (belum objek)
4. Question/answer and query dialogue
contoh : mysql, dbase interaktif, dll
5. Form-fills and spreadsheets
contoh : excel, lotus, dll
6. WIMP
- Windows Icon Menu Pointer
- Windows Icon Mouse Pulldown Menu
yang termasuk komponen WIMP : button, dialogue boxes, pallettes, dll

II.ILMU YANG TERKAIT DENGAN IMK
1. Teknik elektronika & ilmu komputer =memberikan kerangka kerja untuk dapat merancang sistem HCI
2. Psikologi
memahami sifat & kebiasaan, persepsi & pengolahan kognitif, ketrampilan motorik pengguna
3. Perancangan grafis dan tipografi
sebuah gambar dapat bermakna sama dengan seribu kata. Gambar dapat digunakan sebagai sarana dialog cukup efektif antara manusia & komputer
4. Ergonomik
berhubungan dengan aspek fisik untuk mendapatkan lingkungan kerja yang nyaman, misal : bentuk meja & kursi kerja, layar tampilan, bentuk keyboard, posisi duduk, pengaturan lampu, kebersihan tempat kerja
5. Antropologi
ilmu pengetahuan tentang manusia, memberi suatu pandangan tentang cara kerja berkelompok yang masing – masing anggotanya dapat memberikan konstribusi sesuai dengan bidangnya
6. Linguistik
merupakan cabang ilmu yang mempelajari tentang bahasa. Untuk melakukan dialog diperlukan sarana komunikasi yang memadai berupa suatu bahasa khusus, misal bahasa grafis, bahasa alami, bahasa menu, bahasa perintah
7. Sosiologi
studi tentang pengaruh sistem manusia-komputer dalam struktur sosial, misal adanya PHK karena adanya otomasi kantor.

III.DEFINISI IMK
Bidang ilmu interaksi manusia dan komputer adalah ilmu yang mempelajari tentang bagaimana mendesain, mengevaluasi, dan mengimplementasikan sistem komputer yang interaktif sehingga dapat digunakan oleh manusia dengan mudah.
• Pengertian Interaksi = komunikasi 2 arah antara manusia (user) dan sistem komputer.
Interaksi menjadi maksimal apabila kedua belah pihak mampu memberikan stimulan dan respon (aksi & reaksi) yang saling mendukung, jika salah satu tidak bisa, maka interaksi akan mengalami hambatan atau bahkan menuju pembiasan tujuan.
• Definisi interaksi manusia dan komputer
= sebuah hubungan antara manusia dan komputer yang mempunyai karakteristik tertentu untuk mencapai suatu tujuan tertentu dengan menjalankan sebuah sistem yang bertopengkan sebuah antarmuka (interface).
• Prinsip kerja komputer = input ????proses ????output
Kepada komputer diberikan data yang umumnya berupa deretan angka dan huruf.Kemudian diolah didalam komputer yang menjadi keluaran sesuai dengan kebutuhan dan keinginan manusia.
Tanpa disadari kita (manusia/user) telah berinteraksi atau berdialog dengan sebuah benda (layar monitor), yaitu dalam bentuk menekan tombol berupa tombol angka dan huruf yang ada pada keyboard atau melakukan satu sentuhan kecil pada mouse.
Yang kemudian hasil inputan ini akan berubah bentuk menjadi informasi atau data yang seperti diharapkan manusia dengan tertampilnya informasi baru tersebut pada layar monitor atau bahkan mesin pencetak (printer)
• Manusia pada umumnya tidak pernah tahu apa yang terjadi pada saat data dimasukkan ke dalam kotak cpu melalui keyboard. Manusia (user) selalu terfokus pada monitor/printer sebagai keluaran.
• Manusia jarang sekali menyadari proses interaksi dengan komputer. Manusia baru menyadari proses interaksi tersebut saat menemukan masalah dan tidak menemukan solusi pemecahannya. Biasanya manusia menyalahkan antarmuka yang kurang inovatif, kurang menarik, kurang komunikatif.
• Interaksi bisa dikatakan dialog antara user dengan komputer.

Model atau jenis interaksi, antara lain :
1. Command line interface (perintah baris tunggal)
contoh : unix, linux, dos
2. Menu (menu datar dan menu tarik)
contoh : hampir semua software menggunakan menu
3. Natural language (bahasa alami)
contoh : bahasa pemrograman terstruktur (belum objek)
4. Question/answer and query dialogue
contoh : mysql, dbase interaktif, dll
5. Form-fills and spreadsheets
contoh : excel, lotus, dll
6. WIMP
- Windows Icon Menu Pointer
- Windows Icon Mouse Pulldown Menu
yang termasuk komponen WIMP : button, dialogue boxes, pallettes, dll
jadi secara garis besar IMK itu adalah sebuah interaksi antara manusia(user) dengan computer yang menggunakan beberapa dan berbagai macam aplikasi yang bisa digunakan untuk melakukan suatu pekerjaan yang sedang dilakukan oleh manusia.contoh pekerjaan yang sering digunakan oleh manusia yang dikerjakan oleh computer adalah membuat suatu pekerjaan menulis ataupun pekerjaan kantor.

IV.MENGAPA KITA BUTUH IMK
Kita butuh IMK adalah agar kita lebih cepat dalam menyelesaikan suatu pekerjaan.serta bisa membuat waktu pengerjaannya lebih cepat dan tidak membutuhkan banyak biaya dalam membuat suatu pekerjaan.
Dan untuk mahasiswa IT,kita bisa membuat aplikasi ataupun program dengan cepat dikarenakan kita memakai aplikasi yang memiliki interaksi yang mudah dipakai dan dimengerti.
Human-Computer Interface (Hubungan Manusia dengan Komputer)
Pada awalnya pengembangan komputer lebih difokuskan pada peningkatan kemampuan dan kecanggihan peralatan komputer, sedangkan dari aspek manusia sebagai user kurang diperhatikan.hal-hal sederhana seperti kenyamanan dan kemudahan dalam menggunakan komputer jarang diperhatikan.Pada kenyataan sebenarnya, faktor brainware sangat mempengaruhi kinerja sistem komputer itu sendiri. Apabila suatu teknologi lebih mudah dimengerti oleh user maka user dapat menggunakan teknologi itu dengan maksimal.Oleh karena itu, faktor interaksi manusia–komputer pun menjadi salah satu faktor yang sangat penting untuk dipertimbangkan.Pada kondisi dewasa ini, IMK mulai mendapatkan perhatian dari para perancang sistem.Aspek hubungan manusia-komputer mulai dipandang sebagai aspek penting.IMK mulai berkembang setelah PD II.Mula-mula ilmu yang berkaitan adalah biomekanik, antropometri, penelitian mengenai penglihatan, kemudian bergeser ke arah prinsip-prinsip pengembangan representasi informasi.
Dalam perkembangan bidang-bidang kegiatan lain yang berhubungan dengan kajian IMK adalah:
Ilmu komputer sebagai kerangka dasarnya.
Psikologi menyangkut tingkah laku, persepsi, dan pemrosesan kognitif user
Ergonomi (human aspect), melihat aspek-aspek titik kenyamanan user sewaktu menggunakan sistem.
Kebebasan melihat komunikasi antara user-sistem.
Sosiologi, meminjam dampak sistem manusia-mesin pada sistem kemasyarakatan.
Antropologi, mengamati interaksi sekelompok manusia dengan mesin.
Desain grafis, mengikuti tuntutan user yang semakin lebih suka menggunakan grafis sebagai antarmuka dengan mesin.
Faktor-faktor penting dalam interaksi manusia-komputer antara lain:
Kinerja manusia
Dalam hal ini mmenyangkut karakteristik dasar manusia dan keterbatasannya seperti fleksibilitas, ketrampilan, kesalahan, kecepatan, dll.Beberapa aspek khusus tentang ini adalah pemilihan (seperti memodelkan pengguna), pelatihan (misalnya dalam pengambilan keputusan), user support (seperti problem solving).
Kinerja sistem komputer
Karakteristik dasar dan keterbatasan sistem dengan memandang aspek khusus berkaitan dengan IMK seperti fasilitas bahasa, waktu respon sistem, sekuritas.
Antarmuka perangkat keras
Display, kontrol, terminal, aplikasi ergonomi untuk desain workstation yang baik, kebutuhan manusia dan peralatan-peralatan baru.
Antarmuka perangkat lunak
Media komunikasi non-perangkat keras, aspek IMK dari sistem linguistik dan bahasa, organisasi informasi.
Lingkungan
Fisik: ruang workstation dan layout-nya, pencahayaan, suara, dsb. Psikologikal: pengaruh kelompok kerja, struktur pekerjaan (seperti shift kerja), struktur sistem (open / closed, rigid / flexible, dsb), keadaan sosial dan desain organisasi.
Aplikasi spesifik
Pengguna spesialis, bisnis, naif, sistem publik.
Problem spesialPengaruh IMK pada desain pekerjaan dan organisasi, serta masyarakat, privasi informaasi personal, kasus-kasus khusus, dokumentasi dan bantuan-bantuan lain, dsb.
Pengembangan suatu sistem komputer harus dapat melakukan komunikasi yang nyaman dan mudah.Kendala yang sering terjadi disebabkan perilaku user yang tidak dapat dipastikan.Beberapa karakteristik manusia yang mempengaruhi interaksi manusia dengan sistem komputer, yaitu:
Operasi Dedicated / casual (apakah operasi yang dihadapi itu terus menerus atau bersifat satu kali penggunaan) jenis pekerjaan
Mampu / tidak mampu melakukan pemrograman
Memiliki daya intelegensia tinggi / kurang
Terlatih / tidak terlatih
Aktif / pasif (aktif maksudnya memulai interaktif, berinisiatif)
Lingkungan pekerjaan bertekanan atau tidak bertekanan (underpressure / dead line atau tanpa tenggat waktu)
Perbedaan usia yang mempengaruhi perbedaan pengalaman, pengetahuan, kemampuan belajar dan adaptasi, kemampuan fisik
Perbedaan personalitas pengguna

Teknik-teknik yang dapat digunakan dalam perancangan user interface agar lebih efektif, antara lain:
Menu
Pengisian formulir
Bahasa perintah
Bahasa alami
Manipulasi langsung

Dalam memilih teknik apa yang akan digunakan perlu diperhatikan faktor-faktor berikut:
Siapa pemakai sistem
Banyaknya aplikasi yang diterapkan pada komputer yang sama
Komunikasi dalam jaringan
Kerumitan pekerjaan sistem
Panjang operasi
Urutan operasi
Akurasi
Sumber masukan

Faktor-faktor lain seperti: harga, hardware, kerumitan implementasi, dll.
Dalam konteks interaksi, ada aturan yang dikenal dengan nama ‘7 Golden Rules’, yaitu:
Konsistensi

Keharmonisan kombinasi dengan ekspresi yang singkat tapi powerfull, misalnya:
singkatan perintah
macro-command
cut & paste
undo-redo
nilai standar (default)
Mengurangi beban kognitif
Interaksi yang dikendalikan user
Fleksibel
Dialog terstruktur
Error Handling