Rabu, 01 April 2015

minggu ke 3

UNIVERSITAS GUNADARMA
ANALISA TUGAS
INTERAKSI MANUSIA DAN KOMPUTER


1. Overviewutility dalam analisa tugas
Overview adalah suatu ringkasan yang seluruhnya di gunakan untuk  koleksi.
Utility sebagai pengaca kepada fungsionalitas sistem atau sistem yang dapat meningkatkan efektifitas dan efisien kerjanya.
Analisis Tugas
Pada proses menganalisa, menggambar, melaksanakannya dan memeriksa tugas-tugas tersebut, sebagai berikut :
-    Komponen yakni sebagai  aktivitas, artifak dan hubungan,
      Fokus Analisis Tugas digunakan sebagai  fokus pada lingkungan,
      Input dan Output digunakan sebagai pengumpulan Data dan Reprentasi Data      Dokumentasi,
       Interview  digunakan sebagai terstruktur, Tidak Terstruktur dan Semi Struktur,
       Observasi digunakan sebagai  merekam apa yang terjadi, Mencatat bagian-bagian yang di anggap penting Reprentasi daftar, Ringkasan dan Naratif.

2. Jenis-Jenis Analisis Tugas
* Analisis Tugas : Proses menganalisa, menggambar, melaksanakannya dan memeriksa  tugas-tugas tersebut.
* Komponen : Aktivitas, Artifak dan Hubungan
* Fokus Analisis Tugas : Fokus pada lingkungan
* Input dan Output : Pengumpulan Data dan Reprentasi Data
* Dokumentasi
* Interview : Terstruktur, Tidak Terstruktur dan Semi Struktur
* Observasi : Merekam apa yang terjadi, Mencatat bagian-bagian yang di anggap penting
* Reprentasi Data : Daftar, Ringkasan dan Naratif
* Contoh Pengelompokkan Tugas : Fixed Sequence, Optinal Tasks, Waiting Events, Cycles, Time Sharing, Discreationary

·                     Analisa tugas : Proses menganalisa bagaimana manusia melaksanakan tugas dengan sistem yang ada
Metode untuk menganalisis pekerjaan orang:
1.                 Apa yang orang kerjakan
2.                 dengan apa mereka itu bekerja
3.                 apa yang harus mereka ketahui
Contoh: Membersihkan rumah
Teknik (pendekatan) untuk analisa tugas / Jenis-jenis
A. Dekomposisi tugas, memilah tugas ke sub-tugas beserta urutan pelaksanaannya
B. Teknik berbasis pengetahuan, melihat apa yang harus diketahui oleh user tentang objek dan aksi yang terlibat dalam tugas dan bagaimana
pengetahuan itu diorganisasikan
Analisa berbasis relasi-entitas, pendekatan berbasis objek, dimana penekanannya pada identifikasi aktor dan objek, relasi dan aksi yang dilakukan.

Analisa tugas dikhususkan untuk mengenali kepentingan user. Beberapa aspek analisa tugas sangat mirip dengan model kognitif berorientasi-goal.
Analisa tugas cenderung lebih melihat pada apa yang harus dilakukan oleh user sedangkan pada model kognitif lebih melihat pada proses kognitif internal seseorang dalam melakukan pekerjaannya (internal mental state), maka granularitasnya biasanya lebih kecil dibandingkan analisa tugas.
Ø  Dekomposisi Tugas
Teknik analisa tugas umumnya membuat dekomposisi tugas untuk mengekspresikan aksi yang harus dilakukan, seperti pada contoh di atas. Salah satu pendekatan yang sering digunakan adalah hierarchical task analysis(HTA). Output HTA adalah hirarki tugas dan sub-task dan juga plans (rencana) yang menggambarkan urutan dan kondisi (syarat) suatu sub-tugas dilaksanakan.
0. In order to clean the house
1. get the vacuum cleaner out ,,,,ambil vacuum cleaner
2. fix the appropriate attachment,,,,atur hingga layak digunakan
3. clean the rooms ,,,,bersihkan ruangan
3.1. clean the hall ,,,,teras
3.2. clean the living rooms,,,,,,ruang keluarga/tamu
3.3. clean the bedrooms,,,,tempat tidur
4. empty the dust bag,,,,kosongkan tempat debunya
5. put the vacuum cleaner and tools away,,,,,taruh pada tempatnya kembali
Plan 3 dapat dibuat lebih spesifik lagi:
Plan 3: do
3.1 every day
3.2 once a week
Ø  Analisa Berbasis Pengetahuan
Dimulai dengan mendaftar semua objek dan aksi yang terlibat dalam tugas dan kemudian membangun taksonominya, mirip seperti apa yang dilakukan pada bidang biologi: hewan termasuk dalam invertebrata dan vertebrata, hewan vertebrata adalah ikan, burung, reptil, amphibi, atau mamalia, dan seterusnya Tujuannya untuk memahami knowledge yang dibutuhkan untuk melaksanakan tugas
Pembuatan taksonomi dapat dilihat pada contoh berikut :
1. Motor controls
2. Steering steering wheel, indicators
3. Engine/speed
4. Direct ignition, accelerator, foot brake
5. Gearing clutch, gear stick
6. Lights
7. External headlights, hazard lights
8. Internal courtesy light
9. Wash/wipe
10. Wipers front wipers, rear wipers
11. Washers front washers, rear washers
12. Heating temperature control, air direction, fan, rear screen heater
13. Parking hand brake, door lock
14. Percobaan pertama membuat taxonomy kontrol mobil
Ø  Entity-Relationship Based Techniques
Diadopsi dari desain database. Dalam database, entitas yang dipilih untuk analisa adalah yang diharapkan untuk direpresentasikan pada system komputer. Dalam analisa tugas, jangkauan entitas tidak terbatas pada komputer entitas termasuk objek fisik, aksi yang dilakukan dan manusia yang melaksanakannya. Objek juga dapat berbentuk komposit dimana membentuk mengandung lebih dari satu objek. Seperti pada pendekatan pengetahuan pusat analisa masalah objek dan aksi, tetapi penekanannya pada hubungan antaranya, ketimbang ‘kemiripan ‘nya.
Contoh:
1. Market gardening firm
2. Untuk entitas objek:
3. Object Pump3 simple – irrigation pump
Attributes:
Status: on/off/faulty
Capacity: 100 litres/minute
Penekanannya bukan untuk menghasilkan representasi mesin,melainkan untuk menjelaskan partisipasinya dalam tugas manusia dan komputer



SUMBER DAN PENGGUNAAN INFORMASI

Sumber informasi adalah data. Data merupakan bentuk yang masih mentah dan perlu diolah lebih lanjut. Data terdiri dari fakta-fakta dan angka-angka yang secara relatif tidak berarti bagi pemakai, tetapi dapat diolah melalui suatu model untuk dihasilkan informasi.
·  Kelompok dalam Informasi : Informasi Strategis, Informasi Taktis, Informasi Teknis
·  Informasi yang Berkualitas : Akurat, Tepat Waktu, Relevan.

Fungsi informasi suatu organisasi adalah suatu fungsi informasi bagi suatu organisasi yaitu memberikan kejelasan mengenai sesuatu hal yang sudah, sedang dan yang akan dihadapi oleh organisasi.



Manchester pengkodean (pertama kali diterbitkan pada tahun 1949) adalah sinkron teknik pengkodean jam digunakan oleh lapisan fisik untuk menyandikan jam dan data dari sebuah aliran bit sinkron. Dalam teknik ini, data biner aktual untuk ditransmisikan melalui kabel tidak dikirim sebagai urutan logika 1 dan 0 (teknis dikenal sebagai Non Kembali ke Nol (NRZ) ). Sebaliknya, bit diterjemahkan ke dalam format yang sedikit berbeda yang memiliki sejumlah keunggulan dibandingkan menggunakan pengkodean biner lurus (yaitu NRZ ).
Dalam pengkodean Manchester ditampilkan, logika 0 ditunjukkan dengan transisi 0 ke 1 di pusat bit dan logika 1 adalah ditunjukkan dengan transisi 1 ke 0 pada tengah bit. Perhatikan bahwa transisi sinyal tidak selalu terjadi pada 'batas-batas sedikit' (pembagian antara satu bit dan lain), tetapi selalu ada transisi di tengah-tengah setiap bit. Aturan pengkodean Manchester diringkas di bawah ini:
DATA ASLI
NILAI TERKIRIM
LOGIKA 0
0 HINGGA 1 (TRANSISI KE ATAS DI PUSAT BIT)
LOGIKA 1
1 KE 0 (TRANSISI KE BAWAH DI PUSAT BIT)
Perhatikan bahwa dalam beberapa kasus, Anda akan melihat pengkodean terbalik, dengan 0 yang direpresentasikan sebagai transisi 0 ke 1. Kedua definisi bersama-ada selama bertahun-tahun. Ethernet Blue-Book dan standar IEEE (10 Mbps) menggambarkan suatu metode dalam whih Logika 0 adalah dikirim sebagai 0 sampai 1 transisi, dan logika 1 sebagai transisi satu ke nol (di mana nol diwakili oleh tegangan kurang negatif pada kabel). Perhatikan bahwa karena banyak lapisan fisik mempekerjakan line driver pembalik untuk mengubah digit biner menjadi sinyal listrik, sinyal pada kawat adalah kebalikan dari yang output dengan encoder. Diferensial lapisan transmisi fisik, (misalnya 10BT ) tidak menderita inversi ini.
Diagram berikut menunjukkan sinyal Manchester khas dikodekan dengan representasi biner yang sesuai dari data (1,1,0,1,0,0) yang dikirim.
Gelombang untuk aliran bit dikodekan membawa Manchester urutan bit 110100.
Perhatikan bahwa transisi sinyal tidak selalu terjadi pada 'batas-batas sedikit' (pembagian antara satu bit dan lain), tetapi selalu ada transisi di pusat setiap pengkodean bit.The dapat dipandang sebagai alternatif pengkodean fase dimana setiap bit dikodekan oleh transisi fase 90 derajat postive, atau transisi fasa 90 derajat negatif. Kode Manchester karena itu kadang-kadang dikenal sebagai Kode Biphase.
Sebuah sinyal Manchester dikodekan mengandung tingkat transisi sering yang memungkinkan receiver untuk mengekstrak sinyal clock menggunakan Digital Tahap Locked Loop (DPLL) dan benar decode nilai dan waktu setiap bit. Untuk memungkinkan operasi yang handal dengan menggunakan sebuah DPLL, aliran bit yang ditransmisikan harus mengandung kepadatan tinggi transisi bit. Manchester pengkodean memastikan ini, yang memungkinkan penerima untuk benar DPLL mengekstrak sinyal clock.
Pengkodean bi-fase Manchester dapat mengkonsumsi sampai kira-kira dua kali bandwidth sinyal asli (20 MHz). Ini adalah hukuman untuk memperkenalkan transisi sering. Untuk 10 Mbps LAN, spektrum sinyal terletak di antara 5 dan 20 MHz. Manchester encoding digunakan sebagai lapisan fisik dari Ethernet LAN , dimana bandwidth tambahan bukanlah masalah yang signifikan bagi transmisi kabel koaksial, bandwidth terbatas CAT5e kabel mengharuskan metode pengkodean yang lebih efisien untuk transmisi 100 Mbps menggunakan kode 4B/5B MLT . Ini menggunakan tiga level sinyal (bukan dari dua tingkat digunakan di Manchester encoding) dan therfore memungkinkan 100 Mbps sinyal untuk menempati hanya 31 MHz bandwidth. Gigabit Ethernet menggunakan lima tingkat dan 8B/10B encoding, untuk memberikan menggunakan bahkan lebih efisien dari bandwidth kabel yang terbatas, pengiriman 1 Gbps dalam 100 MHz bandwidth.



Evaluasi pembelajaran kognitif
Pembelajaran kognitif adalah pembelajaran untuk meningkatkan pengetahuan-pembelajaran tentang fakta dan hubungan/relasi tentang fakta. Terminologi lain dengan istilah pembelajaran kognitif adalah memperoleh informasi baru. Perolehan informasi adalah hasil dari pembelajaran kognitif. Pembelajar/peserta pendidikan dan pelatihan memperoleh pengetahuan lebih sebagai hasil dari usaha mengikuti pembelajaran kognitif. Dengan demikian, suatu tes diperlukan untuk mengetahui sejauh mana peserta dapat memperlihatkan pengetahuannya.
Sebuah tes yang obyektif adalah cara yang paling umum untuk mengevaluasi pembelajaran kognitif. Sebuah tes obyektif dapat mengukur kemampuan untuk:
 Menemukan kata kata atau istilah
 Menguraikan fakta atau konsep
 Mengkalkulasi
 Menjelaskan
 Memprediksi
 Memilih tindakan yang layak
Ada 4 jenis obyketif tes yang berbeda
Multiple choice (pilihan ganda)
True/False (benar/salah)
Fill in the blanks (Isilah titik titik)
Matching (mencocokkan)

Kesimpulan : proses mengkaji metode dalam melaksanakan tugas, peralatan yang mereka gunakan, dan pengetahuan yang perlu diketahu sesuai dengan sistem yang ada. Tujuan dari analisa tugas ini adalah untuk mengetahui dengan baik apa yang dibutuhkan pengguna dan cara penggunaan dari antarmuka aplikasi.


4. KOMPONEN DAN INPUT DAN OUTPUT
DATA I / O
Dalam Analisis tugas kita harus mempunyai dua macam cara/system untuk melakukan analisa,yaitu :
- INPUT → Merupakan aktifitas pemberian data kepada komputer, dimana data tersebut merupakan masukan bagi komputer.
- OUTPUT → Keluaran, hasil dari suatu proses, baik berupa data maupun berbentuk informasi yang telah diolah.
Unit Input(Input Device)
Input Device atau perangkat input atau alat masukan adalah perangkat/ media untuk memasukkan data dari luar ke dalam suatu memori dan processor untuk diolah guna menghasilkan informasi yang diperlukan. Input devices atau unit masukan yang umumnya digunakan personal computer (PC) adalah keyboard dan mouse, keyboard dan mouse adalah unit yang menghubungkan user(pengguna) dengan computer. Data yang dimasukkan ke dalam system computer dapat berbentuk signal input dan maintenance input. Sign input berbentuk data yang dimasukkan ke dalam system computer, sedangkan maintenance input terbentuk program yang digunakan untuk mengolah datayang dimasukkan. Jadi input device selain digunakan untuk memasukkan data dapat pula digunakan untuk memasukkan program.
Berdasarkan sifatnya, peralatan input ini terdiri dari beberapa macam- macam piranti input, yaitu:
Keyboard
Keyboard merupakan unit input yang paling penting dalam suatu pengolahan data dengan computer. Keyboard dapat berfungsi memasukkan huruf, angka, karakter khusus serta sebagai media bagi user untuk melakukan perintah- perintah lainnya yang diperluka, seperti menyimpan file dan membuka file.
Tombol- tombol suatu keyboard umunya dapat dikelompokkan menjadi 4 bagian:
1.                 Typewriter key (berfungsi sama seperti mesin ketik. Contoh: tombol tabs, caps lock, enter, dll)
2.                 Numeric key (berfungsi untuk menuliskan angka)
3.                 Function key (fungsinya berbeda-beda seperti F1 untuk menampilkan menu help, dll)
4.                 Special key (termasuk tombol Ctrl, Alt, Shift dengan tombol lain. Contoh: Ctrl+C untuk copy)
Mouse
Mouse digunakan untuk mengatur perpindahan kursor, member perintah secara praktisi, Setiap kita menggerakkan mouse di layar monitor selalu tampak sebuah pointer(penunjuk mouse) yang ikut bergerak. Arah gerak pointer di monitor selalu sesuai dengan aarah gerakkan mouse, sedangkan bentuk tampilan ponter di monitor selain tergantung objek yang ditunjukkan de layar juga tergantung setting yang kita tentukan.
Scanner
Scanner merupakan alat yang dapat digunakkan untuk: mengcopy teks dari buku, majalah, Koran, atau lainnya ke dalam computer, biasanya dalam program Microsoft Word, sehingga kita tidak perlu mengetikkan kata demi kata.
Bar Code Reader
dipergunakan di swalayan untuk membaca label data barang yang dicetak dalam bentuk font karakter. Font yang ada di barang biasanya mempunyai 10 digit, 5 digit identik pabrik dan 5 digit kode barang.
Masih banyak perangkat input yang ada seperti Joystik, touch screen, light pen dan lain- lain. Semakin manusia menambah temuan dari tahun ke tahun makin banyak perangkat input yang dibuat.
Unit Output(output device)
Perangkat output atau output devices adalah alat yang digunakan untuk menampikan informasi dari computer. Peralatan yang sering digunalkan adalah monitor, printer, dan speaker.
Monitor
Monitor merupakan alat untuk menampilkan hasil pengetikkan data lewat keyboard dan hasil pemrosesan data. Informasi atau tulisan yang terlihat pada layar monitor dinamakan soft copy.
Printer
Merupakan alat untuk mencetak informasi pada kertas. Informasi atau segala sesuatu yang telah dicetak di kertas dinamakan hard copy.
Speaker
Merupakan alat untuk mengeluarkan suara. Speaker biasanya dipakai pada computer yang menggunakan system operasi berbasis windows atau multimedia.

5. REPRESENTASI DATA :
Representasi data adalah proses perubahan konsep-konsep yang abstrak maupun nyata dalam bentuk yg kongkret.
Cara melakukan representasi data :
• Daftar, ringkasan, matriks
- Gunakan alat bantu bagan
- Tambahkan detail yang semakin bertambah
- Ketahui lebih lanjut berapa detail yang cukup
- Akankan ditambah ringkasan yang dihubungkan dengan sub-tugas khusus
- Baik untuk tugas yang terurut
- Tidak mendukung dengan baik tugas-tugas yang paralel
- Tidak mendukung dengan baik percabangan
• Naratif:
- Menjelaskan tugas-tugas dalam bentuk kalimat
- Seringkali versi diperluas dari daftar atau ringkasan
- Lebih efektif untuk mengkomunikasikan ide-ide umum dari tugas
- Tidak efektif untuk detail
- Tidak efektif untuk tugas yang bercabang
- Tidak efektif untuk tugas paralel
• Hierarki
Hierarki Task Analysis (HTA)
- Notasi grafik dan dekomposisi dari tugas
- Tugas merupakan kumpulan dari aksi
- Tugas diatur ke dalam rencana
Mengelompokkan sub-tugas dengan berurut lebih disukai dan kondisi-kondisi prasyarat

6. Evaluasi Heuristik
Evaluasi ini diusulkan oleh Nielsen dan Molich. Heuristik adalah guideline, prinsip umum dan peraturan, pengalaman yang bisa membantu suatu keputusan atau kritik atas suatu keputusan yang telah diambil, beberapa penilaian bebas terhadap suatu design supaya kritik bisa memajukan potensi daya guna.
Ada sepuluh dasar dari heuristik, seperti :
a. Visibilitas status system,
b. Kecocokan anatara system dan dunia nyata,
c. Kontrol user dan kebebasan,
d. Konsisten dan standar
e. Pencegahan kesalahan
f. Pengenalan atas penarikan kembali
g. Fleksibilitas dan efisiensi
h. Berhubungan dengan keindahan dan desain minimalis
i. Bantuan bagi user untuk mengenali, mendiagnosis dan memperbaiki dari kesalahan,
j. Help dan dokumentasi.
Tujuan dari evaluasi heuristik adalah untuk memperbaiki perancangan secara efektif.
Usability testing
Jika Anda melangkah ke tes kegunaan pada hari-hari awal dari disiplin, maka akan terlihat sangat mirip dengan percobaan formal di laboratorium psikologi. subyek diminta untuk melakukan tes dan data dianalisis dengan menggunakan metode statistik.. Semua yang hilang adalah jas lab putih. Tidak mengherankan, tes yang mahal untuk melakukan dan rumit untuk menjalankan, mengarah ke pengembangan dari disiplin pecahan: kegunaan diskon.
7. Discount usability Diskon kegunaan
Kegunaan Diskon memperkenalkan tiga teknik utama yang bertujuan untuk menyederhanakan metode pengumpulan data:
·                     Thinking-aloud usability tests; Berpikir-keras kegunaan tes;
·                     Low-fidelity prototypes; Low-fidelity prototipe;
·                     Heuristic evaluation. Heuristik evaluasi.
Teknik ini bekerja dengan baik sebagai bagian dari siklus desain iteratif dimana masalah kegunaan yang ditemukan dan tetap dan kemudian berikutnya “sekali pakai” prototipe lagi cepat diuji dengan sejumlah kecil peserta .Pendekatan ini benar-benar merevolusi lapangan. Sekarang akan sulit untuk menemukan seorang praktisi kegunaan yang tidak menggunakan sebagian besar teknik ini selama tugas.
Bahkan, pendulum kini berayun begitu jauh sehingga banyak orang yang meremehkan tradisional, pengujian laboratorium berbasis.
8. Cognitive walkthrough
Cognitive walkthrough suatu usaha yang dilakukan untuk mengenalkan teori psikologike dalam bentuk informal subjektif. Dengan kata lain ,usaha ini bertujuan untuk mengevaluasi perancangan dengan melihat seberapa besar dukungan yang diberikan ke pengguna guna memelajari berbagai tugas yang diberikan pendekatan ini dikemukakan oleh polson, dkk walkthrough.
.Dalam pendekatan ini terdapat beberapa isu yang timbul seperti :
a. Dampak interaksi apakah yang akan terjadi pada pengguna?
b. Proses kognotif apakah yang di butuhkan?
c. Masalah pembelajaran apakah yang mungkin terjadi
    untuk melakukan cognitive walkthrough harus punya informasi yang dibutuhkan
a. Deskripsi dari interface yang dibutuhkan itu
b. Deskripsi tugas , termasuk usaha yang benar untuk melakukannya dengan struktur tujan untuk     mendukungnya .
Dengan informasi ini maka evaluator dapat melakukan langkah – langkah cognitive walkthrough :
a. Pilih tugas
b. Deskripsikan tujuan awal dari usar
c. Lakukan kegiatan / aksi yang tepat
d. Analisis proses keputusan untuk setiap kegiatan
Evaluasi Heuristik di usulkan oleh Nielsen dan molich heuristic adalah guide line, prinsip umum dan peraturan, pengalaman yang bias membantu suatu keputusan atau kritik atas suatu keputusan yang di ambil ada 10 Ødasar heuristic yaitu :
a. Visibilitas status system
b. Kecocokan antara system dan dunia nyata
c. Control user dan kebebasan
d. Konsistensi dan standar
e. Pencegahan kesalahan
f. Pengenalan atas penarikan kembali
g. Fleksibelitas dan efisiensi
h. Berhubungan dengan keindahan dan design minimalis
i. Bantuan bagi user untuk mengenali mendiagnosis dan memperbaiki dari kesalahan
j. Help dan dokumentasi
Tujuan evaluasi heuristic adalah untuk memperbaiki perancangan secara efektif .
Pemodelan Use Case
Tantangan terbesar dalam proses perancangan sistem adalah kemampuan untuk mengetahui kebutuhan sistem (system requirements):
  • Model data dan proses, prototipe, spesifikasi kebutuhan
  • Dimengerti oleh perancang tapi tidak dimengerti oleh pengguna
  • Lingkup dan jadwal cenderung rumit dan ‘menakutkan’
Definisi Use Case
Use Case adalah deskripsi dari sebuah perilaku sistem sebagai respon dari suatu aksi / permintaan dari luar sistem. Dengan kata lain, use case mendeskripsikan ‘siapa’ bisa melakukan ‘apa’ pada sebuah sistem.
Definisi Pemodelan Use Case
Pemodelan Use-Case : proses modeling fungsi-fungsi sistem dalam terminologi kejadian bisnis (business events) yang memicu peristiwa, dan bagaimana sistem menanggapi kejadian tersebut
Use-case modeling berakar dari object-oriented modeling. (pemodelan berorientasi obyek)
Merupakan pelengkap dari alat-alat modeling tradisional. (seperti ER Diagram)
Manfaat Use Case Modeling
1.     Alat mendokumentasikan kebutuhan fungsional.
2.     Membantu pembagian lingkup sistem sehingga lebih mudah diatur.
3.      Alat mengkomunikasikan fungsionalitas sistem pada pengguna dan stakeholder lain. Usecase memiliki bahasa yang dapat dimengerti oleh berbagai stakeholder.
4.      Membantu melakukan estimasi lingkup, upaya, dan jadwal sebuah proyek
5.     Dasar untuk melakukan testing (test plans dan test cases)
6.     Dasar untuk user help systems, manual dan dokumentasi sistem
7.     Alat untuk mengetahui kebutuhan Titik awal untuk identifikasi obyek data atau entitas
8.     Spesifikasi fungsional untuk merancang user system interface
9.     Alat menentukan kebutuhan akses database (menambah, mengubah, menghapus, membaca)
10.                        Kerangka untuk mengarahkan proyek pengembangan system

Model Kognitif ( GOMS, CCT, Context Based )  
Model Kognitif adalah sebuah model yang di rancang  dari cara kerja user,untuk mengetahui bagaimana user akan berinteraksi dengan interface
Komponen: 
- membentuk beberapa aspek dari pemahaman user, pengetahuan,  maksud dan pemrosesan
- beragam dalam level representasi :rencana dan pemecahan masalah tingkat tinggi, sampai ke aksi motorik tingkat rendah (mis: keypress)
GOMS 
(Goals, Operators, Methods, Selection) Rules (dikembangkan oleh Card,Moran dan Newell) adalah suatu cara menganalisa urutan langkah perkirakan durasi tiap langkah dan akhirnya dan total waktu keseluruhan langkah. Analisa digunakan untuk menentukan jalur critical, waktu yang digunakan untuk menyelesaikan suatu tugas.
·        Goal / Tujuan : status terakhir yang ingin dicapai, kemudian uraikan dalam sub tujuan.
·        Operator : aksi pada tingkat paling rendah (untuk menjalankan suatu kegiatan); misal: press key, drag mouse, memindahkan pointer.
·          Methods: urutan operator (prosedur) untuk menuntaskan suatu tujuan (satu atau lebih). contoh: Memilih kalimat gerakkan mouse ke awal kata, press mouse, tarik ke akhir kata, lepaskan mouse
•     Selection Rules:
- dipakai ketika ada pilihan cara
- ujicoba GOMS untuk memperkirakan metode mana yang digunakan
Contoh: dapat menghapus sebuah kata baik dengan cara ctrl-X ataupun melalui menu tertentu.




Cognitive Complexity Theory (CCT)
 Cognitive Complexity Theory (CCT) yang diperkenalkan oleh Kieras dan Polson ini dimulai dengan premis dasar dekomposisi tujuan dari GOMS dan disempurnakan modelnya agar lebih dapat diprediksi. CCT memiliki dua deskripsi paralel, satu adalah tujuan user dan yang lainnya adalah sistem komputer atau disebut device pada CCT. Deskripsi tujuan user berdasarkan hirarki tujuan yang mirip dengan GOMS, tetapi diekspresikan menggunakan production rules.
Secara umum, semakin banyak    production rules dalam CCT semakin
sulit suatu interface untuk dipelajari. Selain itu terdapat beberapa masalah pada
CCT, yaitu :
o  Semakin detail deskripsinya, size deskripsi dari satu bagian interface dapat menjadi sangat besar. Lebih jauh, dimungkinkan terdapat beberapa cara untuk merepresentasikan perilakuk user dan interace yang sama sehingga mengakibatkan perbedaan hasil pengukuran.
o  Pemilihan notasi yang digunakan. Muncul pertanyaan kapan notasi tertentu yang dipilih menjadi suatu hal yang penting / kritis. Sesorang dapat saja memilih untuk merepresentasikan sistem dengan notasi yang berbeda. Notasi yang berbeda dapat mengakibatkan perbedaan pengukuran. Contoh: pada deskripsi sebelumnya (NOTE executing insert space) hanya digunakan untuk membuat rule INSERT-SPACE-DONE dijalankan pada waktu yang tepat. Disini tidak jelas sama sekali signifikansi kognitifnya.
o  CCT adalah alat perekayasaan (engineering tool) dengan pengukuran kemudahan dipelajari (learnability) dan tingkat kesulitan (difficulty) secara garis besar digabung dengan dekripsi detail dari perilaku (behaviour) user.

Interprative Evaluation
Interpretive adalah suatu studi dan sistematik tentang budaya Manusia yang dapat Penelitian kontekstual, Studi lapangan dan Studi observasi. Obyektifitas yang dapat memahami sebuah user dan juga dapat memahami tujuan dan nilai yang berkesinambungan pada sebuah interaksi individu dan group dalam suatu Budaya yang berguna untuk memperbaiki sistem bila ada  masalah pada cara yang digunakan pada saat itu dengan menggunakan sebuah teknik misalnya :  Observasi personal, Audio yaitu video recording.
Observasi Etnografis
  • Persiapan
    o Pahami kebijakan dan budaya kerja organisasi
    o Kenali sistem dan sejarahnya
    o Tentukan tujuan awal dan siapkan pertanyaan
    o Minta akses dan izin untuk observasi dan wawancara
  • Studi Lapangan
o   Bangun hubungan dengan manajer dan pemakai
o   Amati atau wawancarai pemakai di tempat kerjanya.
o   Kumpulkan data subjektif dan objektif, kuantitatif dan kualitatif.
o   Ikuti semua petunjuk yang muncul dari kunjungan
o   Catat kunjungan
  • Analisis
o  Gabungkan data yang dikumpulkan dalam database numeris, tekstual dan multimedia
o  Kuantifikasikan data dan gabungkan statistic
o  Konsolidasikan dan interpretasikan data
o  Perbaiki tujuan dan proses yang digunakan
  • Pelaporan
o   Pertimbangkan peserta dan tujuan yang beraneka ragam
o   Persiapkan laporan dan presentasikan hasil penelitian







Contoh :







Sumber :
Sumber: :http://id.wikipedia.org/wiki/Interaksi_manusia-komputer
Sumber: buku interaksi manusia dan komputer

Sabtu, 28 Maret 2015

Minggu ke-2

PRINSIP USABILITY

Prinsip Usability pada mata kuliah Interaksi Manusia dan Komputer adalah suatu masalah optimasi penggunaan sistem oleh pengguna. Sistem akan bekerja dengan baik apabila dipergunakan secara maksimal oleh pengguna sehingga semua kemampuan sistem dapat termanfaatkan secara maksimal.
Didalam Prinsip Usability terdapat hal-hal yang harus diperhatikan diantaranya Human Ability, Human Capabilities, Memori, Problem Solving.
Human Ability


Human Ability
Adalah suatu kemampuan manusia untuk melakukan sesuatu yang dimilikinya. Memiliki 2 perbedaan yaitu:

HUMAN ABILITIES BAIK
– Kapasitas Long Term Memory (LTM) tidak terbatas
– Durasi LTM tidak terbatas dan komplex
– Kemampuan memahami tinggi
– Mekanisme konsentrasi powerful
– Pengenalan pola pikir powerful


HUMAN ABILITIES BURUK
– Kapasitas Short Term Memory (STM) terbatas
– Durasi STM terbatas
– Akses yang tidak dapat diandalkan pada STM
– Proses yang cenderung salah
– Proses yang lambat






Human Capabilities
Pengertiannya hampir sama dengan Human Ability tetapi Human Capabilities lebih mengarah ke anggota Penginderaan / Panca indra (Mata, Telinga, Peraba) pada manusia itu sendiri.


·        Penglihatan
Penglihatan atau mata barangkali merupakan salah satu panca indra manusia yang paling berharga. Beberapa ahli berpendapat bahwa mata manusia terutama digunakan untuk menghasilkan persepsi yang terorganisir akan gerakan, ukuran, bentuk, jarak, posisi relative, tekstur, dan warna. Dalam dunia nyata, mata selalu digunakan untuk melihat semua bentuk tiga dimensi.
Istilah dalam penglihatan:

1.     Luminans
Luminans adalah banyaknya cahaya yang dipantulkan oleh permukaan obyek. Semakin besar luminans dari sebuah obyek, rincian obyek yang dapat dilihat oleh mata juga akan semakin bertambah.
2.     Kontras
Kontras adalah hubungan antara cahaya yang dikeluarkan oleh suatu obyek dan cahaya dari latar belakang obyek tersebut. Nilai kontras positif akan diperoleh jika cahaya yang dipancarkan oleh sebuah obyek lebih besar dibanding yang dipancarkan oleh latar belakangnya. Nilai kontras negative dapat menyebabkan obyek yang sesungguhnya “terserap” oleh latar belakang, sehingga menjadi tidak Nampak.
3.     Kecerahan
Kecerahan adalah tanggapan subjektif pada cahaya. Tidak ada arti khusus dari tingkat kecerahan seperti pada luminans dan kontras, tetapi luminans yang tinggi berimplikasi pada kecerahan yang tinggi pula.
4.     Sudut dan ketajaman penglihatan
Sudut penglihatan sebagai Sudut yang berhadapan oleh obyek pada mata. Ketajaman penglihatan adalah sudut penglihatan minimum ketika mata masih dapat melihat sebuah obyek dengan jelas.


·        Pendengaran
Bagi orang dengan penglihatan dan pendengaran normal, pendengaran merupakan pancaindra yang paling penting setelah penglihatan dalam dunia computer interaktif. Meski saat ini belum banyak program-program aplikasi yang memanfaatkan suara pendengaran sebagai sarana interaksinya,tetapi beberapa program sudah mulai memanfaatkan media suara untuk memberi umpan baik kepada pengguna.

·        Peraba (Touch)
Sentuhan merupakan sarana interaksi yang menduduki urutan ketiga setelah penglihatan dan pendengaran. Sentuhan barangkali merupakan sarana interaksi yang lebih penting pada orang buta selain suara (jika ia tidak tuli).


Memori
Sebagian besar aktivitas manusia bergantung pada memori. Selain menyimpan paengetahuan faktual, memori manusia juha menyimpan pengetahuan procedural.pengetahuan tersebut melakukan aktivitas secara berulang, menggunakan bahasa, menggunakan informasi yang kita terima dari indera, serta memberikan identitas pada manusia dengan menyimpan informasi mengenai pengalaman masa lalu. Terdapat tiga jenis memori atau fungsi memori:
1.     Memori Sensor
2.     Memori Jangka Pendek (STM)
3.     Memori Jangka Panjang (LTM)

MEMORI SENSOR
Memori sensor bekerja sebagai buffer yang menampung masukan yang diterima dari panca indera manusia.memori sensor terdiri dari:
-Memori iconic untuk indera visual
-Memori echoic untuk indera aural/auditory, dan
-Memori haptic untuk indera peraba.

MEMORI JANGKA PENDEK (STM) 
Memori jangka pendek dapat dilihat sebagai penyimpan temporer, tetapi informasi yang ada disini tersimpan dalam bentuk terkodekan, bukan dalam bentuk fisik. Beberapa tulisan menyebutkan memori ini mempunyai kapasitas  7 ± 2 chunk informasi. Penelitian lain menyebutkan bahwa memori kapasitas rendah mempunyai waktu penyimpanan yang sangat singkat, sekitar 20-30 detik, meskipun dengan latihan yang memadai angka ini dapat ditingkatkan.

MEMORI JANGKA PANJANG (LTM)
Memori ini berbasis sematik dan diakses secara asosiatif. Kita tidak tahu pasti apasitas memori jangka panjang, dan terlihat bahwa sekali kita menyimpan suatu informasi dalam memori ini, mereka akan sukar untuk dilupakan. Informasi yang paling baru dan paling sering digunakan merupakan infomasi yang paling siap diakses.

·        Observations
Orang lebih fokus untuk menyelesaikan masalah, tidak untuk belajar menggunakan suatu sistem secara efektif. Orang menggunakan perbandingan jika tidak ada penyelesaian. Orang lebih kepada heuristic daripada algorithmic Lebih mencoba coba-coba daripada pemikiran matang Orang lebih memilih sub-strategi untuk masalah yang tidak terlalu penting. Orang belajar strategi lebih baik dengan latihan


·        PROBLEM SOLVING
Jika penalaran merupakan mekanisme untuk menarik kesimpulan atau informasi baru dari hal yang sudah diketahui, maka penyelesaian masalah merupakan proses menemukan solusi suatu tugas dengan menggunakan pengetahuan yang dimiliki. Penyelesaian masalah pada manusia dikarakteristikkan oleh kemampuan mengadaptasikan informasi dengan situasi yang baru. Terdapat beberapa pandangan mengenai cara manusia menyelesaikan masalah. Gestalt memandang bahwa proses pemecahan masalah melibatka penggunaan pengetahuan dan proses mantal (insight). Teori problem space melihat bahwa pikiran manusia adalah proses informasi yang terbatas.








- UCD (User Centered Design)

UCD ( User Centered Design ) merupakan paradigma baru dalam pengembangan sistem berbasis web. Perancangan berbasis pengguna (User Centered design = User Centered Design = UCD) adalah istilah yang yang digunakan untuk untuk menggambarkan filosofi perancangan. Konsep dari UCD adalah user sebagai pusat dari proses pengembangan sistem, dan tujuan/sifat-sifat, konteks dan lingkungan sistem semua didasarkan dari pengalaman pengguna.
gambar:


Prinsip yang harus diperhatikan dalam UCD adalah: 


1. Fokus pada pengguna 

Perancangn harus berhubungan langsung dengan pengguna sesungguhnya atau calon pengguna melalui interview, Survey, dan partisipasi dalam workshop perancangan. 

Tujuannya adalah untuk memahami kognisi, karakter, dan sikap pengguna serta karakteristik anthropometric. Aktivitas utamanya mencakup pengambilan data, analisis dan integrasinya ke dalam informasi perancangan dari pengguna tentang karakteristik tugas, lingkungan teknis, dan organisasi. 

2. Perancangan terintergrasi 


Perancangan harus mencakup antarmuka pengguna, sistem bantuan, dukungan teknis serta prosedur instalasi dan konfigurasi. 


3. Dari awal berlanjut pada penggujian pengguna 


Satu-satunya pendekatan yang sukses dalam perancangan sistem yang berpusat pada pengguna adalah secara empiris dibutuhkan observasi tentang kelakuan pengguna, evaluasi umpan-balik yang cermat, wawasan pemecahan terhadap masalah yang ada, dan motivasi yang kuat untuk mengubah rancangan. 





4. Perancangan interaktif. 

Sistem yang sedang dikembangkan harus didefinisikan, dirancang, dan ditest berulang kali. Berdasarkan hasil test kelakuan dari fungsi, antarmuka, sistem bantuan, dokumementasi pengguna, dan pendekatan pelatihannya. 


UCD adalah tentang partisipasi dan pengalaman manusia dalam proses perancangan. Pengguna adalah orang yang akan menggunakan sistem. Pengguna langsung biasa disebut pengguna akhir ( end user ) yang menggunakan sistem untuk menyelesaikan pekerjaannya. Pengguna tidak langsung adalah pengguna yang menggunakan sistem untuk penggunaan yang lain seperti system administrators, installers, dan demonstrators. 


Aturan dalam UCD 

Karat telah mendefinisikan hak pengguna untuk mentransformasi budaya yang terdapat dalam perancangan, pengembangan, dan pembuatan sistem teknologi informasi, dan untuk memastikan bahwa produk hasilnya akan tepat seperti harapan pelanggan. 
Aturan dalam UCD ( User Centered Design ) 

1. Perspektif 


Pengguna selalu benar. Jika terdapat masalah dalam penggunakan sistem, maka masalah ada pada sistem dan bukan pengguna. 


2. Installasi 

Pengguna mempunyai hak untuk dapat menginstall atau mengun-install perangkat lunak dan perangkat keras sistem secara mudah tanpa ada konsekuensi negatif. 

3. Pemenuhan 

Pengguna mempunyai hak untuk mendapatkan sistem dapat bekerja persis seperti yang dijanjikan. 




4.    Instruksi 
Pengguna mempunyai hak untuk dapat menggunakan instruksi secara mudah ( buku petunjuk, bantuan secara on-line atau kontekstual, pesan kesalahan ), untuk memahami dan menggunakan sistem untuk mencapai tujuan yang diinginkan secara efisien dan terhindar dari masalah. 

5. Kontrol 

Pengguna mempunya hak untuk dapat mengontrol sistem dan mampu membuat sistem menanggapi dengan benar atas permintaan yang diberikan. 

6. Umpan Balik 

Pengguna mempunyai hak terhadap sistem untuk menyediakan informasi yang jelas, dapat dimengerti, dan akurat tentang tugas yang dilakukan dan kemajuan yang dicapai. 

7. Keterkaitan 

Pengguna mempunyai hak untuk mendapatkan informasi yang jelas tentang semua prasyarat yang dibutuhkan sistem untuk memperoleh hasil terbaik. 

8. Batasan 

Pengguna mempunyai hak untuk mengetahui batasan kemampuan sistem. 

9. Assistance 

Pengguna mempunyai hak untuk dapat berkomunikasi dengan penyedian teknologi dan menerima pemikiran dan tanggapan yang membantu jika diperlukan. 

10. Usability 

Pengguna harus dapat menjadi penguasa teknologi perangkat lunak dan perangkat keras, dan bukan sebaliknya. Sistem harus dapat dugunakan secara alami dan ituitif. 



5.     Keterangan : 

1. Memahami dan menentukan konteks pengguna 


-        Karakteristik pengguna yang diharapkan 

-        Pekerjaan yang dilakukan pengguna 
-        Pemecahan secara hirarki atas pekerjaan global 
-        Tujuan global penggunaan sistem untuk setiap kategori pengguna, termasuk karakteristik tugas yang mungkin menggangu penggunaan dalam scenario khusus, seperti frekuensi dan lama kinerja. 

-        Deskripsi harus mencakup alokasi aktifitas dan langkah operasional antara manusia dan sumberdaya teknologi 

-        Pahami lingkungan tempat pengguna akan menggunakan sistem 
-        Sangat penting awal langkah untuk menentukan kebutuhan sistem minimal dan optimal dengan memperhatis terdapat empat 

2. Menentukan kebutuhan pengguna dan Organisasi 


Dalam UCD penting untuk memperluas aktivitas kebutuhan fungsional sistem dengan membuat pernyataan eksplisit kebutuhan pengguna dan organisasi, dalam hubungannya dengan konteks diskripsi penggunaan dalam hal: 


. Kualitas perancangan interaksi manusia dan komputer serta workstation, 

. Kualitas dan isi tugas pengguna ( termasuk alokasi tugas diantara kategori penguna yang berbeda ), 
. Kinerja tugas yang efektif khususnya dalam hal transparasi aplikasi ke pengguna, 
. Kerjasama dan komunikasi yang efektif diantara pengguna dan pikah ketiga yang relevan, 
. Dibutuhkan kinerja sistem baru terhadap tujuan finansial. 



3. Solusi perancangan yang dihasilkan 

. Dengan memgunakan pengetahuan yang ada untuk mengembangkan suatu proposal solusi perancangan. 

. Membuat solusi perancangan lebih konkrit ( dengan simulasi, prototipe, dll ) 
. Memperlihatkan prototipe ke pengguna dan mengamatinya saat melakukan tugas spesifik, dengan atau tanpa bantuan evaluatur. 
. Menggunakan umpan balik untuk perbaikan rancangan, 
. Mengulang proses ini sampai tujuan perancangan dipenuhi. 

4. Evaluasi Perancangan terhadap kebutuhan pengguna 


. Formative: menyediakan umpanbalik yang dapat digunakan untuk memperbaiki rancangan. 

. Summative: melakukan penilaian apakah tujuan pengguna dan organisasi telah tercapai

terdapat empat pendekatan dalam pengembangan sistem, yaitu: 


1. Soft System Methodology ( SSM ). 

2. Open System Task Analysis ( OSTA ) 
3. Multivew 
4. Star Life Circle 

Keempat pendekatan diatas mempunyai fokus pengembangan yang berbeda. 


Soft System Methodology ( SSM ) 

Penekanan SSM tidak pada pencarian solusi untuk suatu masalah, tetapi pada pemahaman situasi dimana masalah yang dirasakan dianggap bukan merupakan akar atau asensi masalah yang sebenarnya. 
Langkah-langkah Soft System Methodology ( SSM ) adalah 





1. Langkah 1 dan 2 difokuskan pada pencarian pernyataan yang lengkap atas situasi permasalahan. 
Pada langkah ini dilakukan pertemuan yang melibatkan seluruh puhak yang berkepentingan ( stakeholeder ). 

2. Langkah 3 mencoba untuk membuat definisi sistem yang presisi. 


3. Langkah 4 menggunakan hasil dari langkah 3 berupa pernyataan sistem secara abstrak . 


Chekland ( 1981) dan Wilson (1984 ) menyediakan sejumlah metoda yang dapat digunakan untuk menghasilkan suatu definisi yang formal dan komprehensif tentang sistem. Checkland menamakannya sebagai root definition, yang dapat membantu perancang untuk memastikan bahwa mereka telah mencakup seluruh aspek dari sistem dan menghasilkan definisi akar yang kuat. Definisi tersebut adalah elemen CATWOE: Client, Actors, Transformasi, Weltanshauung ( pandangan dunia), owners, dan environtment.
 




Sumber : Interaksi manusia dan komputer penerbit Andi yogyakarta

Minggu, 02 November 2014

konsep dasar OOP

KONSEP DASAR OOP
Pengertian OOP
OOP adalah sebuah metodologi atau cara berpikir dalam melakukan pemrograman dimana pendefinisian tipe data disertai dengan pendefinisian fungsi. Struktur data yang seperti ini disebut dengan istilah object. Paradigma pemrograman OOP dapat dilihat sebagai interaksi sebuah object dalam melakukan tugasnya.
Segelas teh tentunya memiliki berbagai spesifikasi seperti volume air, rasa, temperatur dan sebagainya. Pada pemrograman, spesifikasi-spesifikasi tersebut merupakan variabel yang dideklarasikan beserta tipe data. Pada OOP, sebuah object Teh juga memiliki method berupa fungsi yang dapat dipanggil untuk merubah kelakuan atau spesifikasi teh tersebut. Method minumTeh dapat dideklarasikan sebagai fungsi yang dapat dipanggil untuk mengurangi nilai variabel Volume.
Di samping itu, sebuah object dapat memiliki relasi terhadap object lainnya. Sebagai contoh, sebuah objectdapat berupa keturunan dari object lain. 
Sejarah OOP
Konsep OOP bermula pada era 1960-an. Sebuah bahasa pemrograman Simula memperkenalkan berbagai konsep yang mendasari OOP dengan SIMULA I (1962-65) dan Simula 67 (1967). Kemudian pada tahun 70-an, bahasa pemrograman Smalltalk menjadi yang pertama kali disebut object-oriented.
Pada tahun 1980-an, dua bahasa pemrograman ADA (US Department of Defense) dan PROLOG (the Japanese “Fifth Generation Computer Project”) dipercayai akan bersaing ketat sebagai bahasa pemrograman yang paling dominan. Namun justru OOP yang menjadi paradigma pemrograman yang paling dominan sampai sekarang. Bahasa pemrograman yang object-oriented seperti C++ pada tahun 80-an menjadi populer. Pada tahun 90-an, bahasa-bahasa pemrograman seperti Java mulai menerapkan OOP. Sampai pada 2002, Microsoft Visual Studio memperkenalkan bahasa object-oriented baru yang diberi nama C#. Disusul VB.NET yang merupakan penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP.
Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses / tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan / action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita.
Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi dengan object printer untuk menyelesaikan job tersebut.
Object-Oriented vs. Procedural
Procedural programming merupakan paradigma pemrograman selain OOP yang berdasarkan pada konsep procedure callProcedure merupakan fungsi yang akan dijalankan secara berantai ketika program aktif baik oleh program itu sendiri atau procedure lain. Contoh bahasa pemrograman yang termasuk kedalam paradigma ini diantaranya adalah Pascal, Delphi, C++, ALGOL, Fortran, dll.
TYPE Teh = RECORD
                   NamaTeh:       STRING;
                   VolumeTeh:     REAL;
                   WarnaTeh:      ColourType;
                   …
         END;
Selanjutnya proses pemasukkan nilai variabel dan fungsi meminum teh dilakukan seperti berikut:
VAR Tehku: Teh;
BEGIN
   …
   (* Inisialisasi atribut teh *)
   Tehku.NamaTeh := “Sosro”;
   Tehku.VolumeTeh := 1.00;
   …
   …
   (* Meminum teh *)
   Tehku.VolumeTeh := Tehku.VolumeTeh – 0.1;
Proses ini tidak berlaku pada pemrograman berbasis object, sebab struktur data Teh hanya mempunyai tipe-tipe variabelnya. Pada OOP, perubahan sebuah object dilakukan dengan pemanggilan method yang dideklarasikan sebelumnya. Seperti yang disebutkan sebelumnya, method minumTeh dapat dideklarasi dan kemudian dipanggil untuk mengurangi Volume teh tersebut.
Mengapa menggunakan OOP?
Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk menyelesaikan masalah bisnis? Bahasa prosedural mengatur program dalam mode barisan linier yang bekerja dari atas ke bawah. Dengan kata lain, program adalah kumpulan dari tahapan yang dijalankan setelah yang lain berjalan. Programming tipe ini bekerja dengan baik untuk program kecil yang berisi code relative sedikit, tetapi pada saat program menjadi besar, mereka cenderung susah untuk di-manage dan di-debug. Dalam usaha untuk me-manage program, struktur programming diperkenalkan cara untuk mem-break down code-code tersebut melalui functions dan procedures.
Ini adalah sebuah langkah perbaikan, namun pada saat program dijalankan dalam sebuah fungsi bisnis yang kompleks dan berinteraksi dengan sistem lain, maka kelemahan dari struktur metodologi programming muncul kepermukaan meliputi:
Program menjadi lebih susah untuk dimaintain. Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
Programming tidak baik untuk team development. Programmers harus mengetahui setiap aspek bagaimana program itu bekerja dan tidak menyebabkan terisolasi usaha mereka atas aspek yang lain dari sistem.
Butuh usaha yang keras untuk menterjemahkan Business Modelsdalam programming models.
Mungkin dapat bekerja dengan baik pada saat terisolasi tapi tidak pada saat terintegrasi dengan sistem lain.
http://santiherliani5g.blogspot.com/2009/01/konsep-oop.html
Istilah-istilah pada OOP antara lain :

  • Kelas (Class)
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh‘class of dog‘ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi objectSebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

  • Objek (Object)
Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objekmerupakan dasar dari modularitas dalam sebuah program komputer berorientasi objek.

  • Abtraksi (Abstraction)
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

  • Enkapsulasi (Encapsulation)
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

  • Polimorfisme (Polymorphism)
Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

  • Inheritas (inheritance)
Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis objek tidak selalu memiliki inheritas.)
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
http://yul-elfshawol.blogspot.com/2010/12/konsep-dasar-oop.html
Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek. Pengembangan program OOP dapat dilakukan dengan mudah karena dapat mengurangi duplikasi kode dan mengurangi kesalahan program.
Program Java dapat dibedakan menjadi dua jenis :
- Applet, adalah program yang dibuat dengan Java, dapat diletakkan pada web server dan di akses melalui web browser.
- Aplikasi, adalah program yang dibuat dengan Java yang bersifat umum dan dapat dijalankan secara langsung.
Versi Java yang telah dirilis oleh Sun Microsystems atau yang lebih dikenal dengan J2SDK (Java 2 System Development Kit) antara lain:
1. J2ME (Java Micro Edition)
2. J2SE ( Java Standard Edition)
3. J2EE (Java 2 Entrprise Edition)
dimana urutan dari yang tertinggi adalah J2EE, J2SE, J2ME
Selain J2SDK ada pengembangan yang lain tergolong sebagai IDE (Integrated Development Environment), contohnya adalah Semantic Cafe, Borland Jbuilder.
Untuk mendownload software Java Development Kit (JDK)


Pada OOP ada dua istilah yang sering digunakan yaitu class dan objek.
Class berisi kumpulan dari objek-objek, sedangkan objek merupakan sebuah bentuk model yang tergantung dari cara pandang terhadap objek yang dimaksud.
Untuk lebih memudahkan pemahaman tentang class dan objek, sebagai contoh: sebuah class Kereta api mempunyai objek antara lain gerbong, rel, rem, tempat duduk dan yang lainnya. Setiap objek memiliki atribut dan metode. Atribut adalah segala sesuatu yang berhubungan dengan karakteristik dari objek misalnya warna, bentuk atau fasilitas dari Kereta Api tersebut. Sedangkan Metode dari Kereta Api tersebut adalah kecepatan sehingga dapat berjalan dengan cepat di tengah kemacetan. Jadi metode merupakan fungsi atau segala sesuatu yang dapat dilakukan Kereta Api sebagai objek.
contoh :
public class KrtApi {
int gerbong;
String fasilitas;
}
public class KeretaApi {
public static void main(String[] args)
{
// membuat object
KrtApi kereta=new KrtApi();
// memanggil atribut dan memberi nilai
kereta.gerbong= 4;
kereta.fasilitas= “AC” ;
System.out.println(“Jumlah Gerbong:”+ kereta.gerbong);
System.out.println(“Fasilitas :”+ kereta.fasilitas);
}
}
Karakteristik Pemrograman Berorientasi Objek
1. Abstraction
Yaitu kumpulan objek yang saling berinteraksi.
2. Enkapsulasi
Yaitu menyembunyikan suatu proses dalam sistem untuk menghindari interferensi dan
menyederhanakan penggunaan sistem itu sendiri
3. Inheritance (Pewarisan)
Suatu class dapat mewariskan atribut dan metode kepada class lain.
4. Polymorphism
Suatu objek dapat memiliki berbagai bentuk sebagai objek dari classnya sendiri.
Contoh Program Inheritance (Pewarisan)
public class KeretaEkonomi extends KeretaApi {
public void setTarif(int tarif) {
System.out.println(“Tarif :”+ tarif);
}
}
public class KeretaEkonomiBeraksi {
public static void main(String[] args) {
KeretaEkonomi kereta = new KeretaEkonomi();
// Memanggil method di object
System.out.println(“Tarif Kereta Ekonomi jakarta – Bogor”);
kereta.setTarif(2500);
}
}

sumber: 
http://hendraenda.wordpress.com/2013/04/01/konsep-dasar-oop-pada-pemrograman-java/

Jumat, 17 Oktober 2014

JAVA & KEISTIMEWAANNYA

SEJARAH JAVA
Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur – manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”.
Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.
Karena orang – orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas. Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada saat yang sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat. Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web.
Java telah mengakomodasi hampir seluruh fitur penting bahasa – bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia :
1. Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan – bentukan dasar dari pemrograman berorientasi objek.
2. Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya.
3. Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya.
4. Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling
5. Dari bahasa Ada, diambil strongly type, dan exception handling.
6. Dari Objective C, diambil fasilitas interface.
7. Dari bahasa SmallTalk, diambil pendekatan single-root class hiérarchie, dimana objek adalah satu kesatuan hirarki pewarisan
8. Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4

KEISTIMEWAAN JAVA
1. Sederhana (Simple)
Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.