Senin, 31 Oktober 2011

Membuat Aplikasi Android

Berikut akan dijelaskan mengenai langkah – langkah yang dilakukan dalam proses pembuatan aplikasi berbasis Java Android untuk perangkat selular. 
Untuk membuat project baru yang dilakukan pilih menu file – new – project. Atau klik new pada toolbar Eclipse. Kemudian pilih Android project.


Setelah mengklik Android project maka akan muncul jendela new Android Project. Kemudian selanjutnya isi project name, pilih target android, isi application name, package name, create activity, dan min sdk version.
Project name merupakan nama direktori yang akan menyimpan file project yang akan dibuat. Application name merupakan nama aplikasi android yang akan dibuat. Package name merupakan nama paket, yang dalam penulisannya harus memiliki minimal dua nama yang dipisahkan oleh titik. Activity merupakan nama kelas yang menjalankan proses fungsi dari aplikasi yang dibuat.
Setelah project baru dibuat maka akan ditemukan empat kelas baru yang harus selalu ada. Kelas-kelas ini terdiri dari dua kelas java dan dua kelas xml. Kelas java yaitu MainActivity.java dan R.java, kelas xmlnya yaitu main.xml dan string.xml.
MainActivity.java merupakan kelas yang menjalankan proses atau fungsi dari aplikasi. R.java merupakan kelas yang berfungsi sebagai index yang menghubungkan semua resource pada aplikasi yang dibuat. Kelas R.java akan di generate secara otomatis ketika membuat aplikasi dan tidak boleh dimodifikasi.
Main.xml merupakan kelas yang mengatur GUI dari aplikasi android yang dibuat. Terakhir string.xml berfungsi untuk menyimpan string object agar nilai dari string object tersebut nantinya dapat digunakan oleh komponen-komponen pada android eclipse. 
- Penulisan Source Code 
Penulisan kode program pada pembuatan aplikasi dengan Android dapat dilakukan dengan beragam editor teks, kita bisa menggunakan notepad ataupun editor teks lainnya. Kode program yang telah dibuat disimpan dalam file dengan ekstensi dot java dan disimpan di folder src pada folder project yang telah dibuat secara otomatis ketika kita membuat sebuah project, sedangkan apabila dalam pembuatan aplikasi menggunakan file gambar, maka file gambar disimpan di dalam folder res.

Pengenalan Java

kemaren PI buat aplikasi kamus Android. yah udah pada tau kan ya kalo Android itu bahasa pemrograman nya pake Java Android. sebelum tau lebih dalem tentang Java Android, berikut ini adalah sekilas tentang pemrograman Java secara umum.

Bahasa Pemrograman Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Java tidak boleh disalah pahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser.
Ada beberapa alasan mengapa Java dipilih untuk aplikasi komunikasi bergerak :
  1. Java merupakan bahasa pemrograman yang aman. Hal ini disebabkan karena kode Java harus selalu dieksekusi dengan Java Virtual Machine (JVM), yang menyediakan lingkungan yang aman untuk eksekusi kode yang telah di download. Sebuah aplikasi biner dapat mengacaukan sebuah peralatan (misalnya tampilan blue screen pada handphone) namun aplikasi Java, dalam hal yang paling buruk, hanya dapat mengacaukan virtual Machine – nya saja.
  2. Bahasa pemrograman Java adalah bahasa yang kokoh. Penggunaan garbage collector akan mengurangi waktu yang diperlukan oleh programmer untuk menemukan kebocoran dalam penggunaan memori. Demikian pula penggunaan mekanisme exception pada Java mampu meningkatkan kemampuan programmer dalam membuat aplikasi yang kokoh.
Portabilitas Java sangat berguna dalam aplikasi wireless. Pertama, dengan menulis sebuah program saja, aplikasi tersebut dapat dijalankan di berbagai peralatan. Alasan kedua, adalah karena aplikasi tersebut dapat dikirimkan ke sebuah peralatan melalui jaringan wireless (proses ini sering dinamakan overthe- air, atau OTA) provisioning.
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
  • java.lang: Peruntukan kelas elemen-elemen dasar.
  • java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
2.6.2.   Kelebihan Java
Kelebihan utama dari Java ialah Multiplatform dapat dijalankan di beberapa platform/sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
OOP (Object Oriented Programming – Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library /perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
2.6.3.   Kekurangan Java
Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ danPascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
2.7 Bahasa Pemrogaman Java Android
Aplikasi Android ditulis dalam bahasa pemograman Java, yaitu kode Java yang terkompilasi bersama-sama dengan data dan file resource yang dibutukan oleh aplikasi yang digabungkan oleh aapt tools menjadi paket Android, sebuah file yang ditandai dengan suffix.apk. File inilah yang didistribusikan sebagai aplikasi dan diinstall pada perangkat mobile. File ini yang didownload oleh pengguna keperangkat mobile mereka. Semua kode dijadikan satu .apk, dan kemudian kita sebut sebagai sebuah aplikasi.
Dalam banyak cara, masing-masing aplikasi Android aktif dalam lingkungannya sendiri. Secara default,semua aplikasi berjalan sendiri dalam proses linux. Android memulai proses ketika salah satu dari kode aplikasi harus dijalankan, dan menutup proses saat tidak ada lagi diperlukan dan sumber daya sistem tersedia untuk aplikasi lain. Setiap proses memiliki virtual machine (VM) sendiri,maka kode aplikasi yang dijalankan di idolasi dari semua kode aplikasi lain. Secara default, setiap aplikasi di isolasi diberikan sebuah user ID Linux yang unik. Perizinan (permissions) diatur agar aplikasi dari file tersebut terlihat hanya untuk user yangmemiliki izin untuk aplikasi itu sendiri meskipun ada cara untuk mengekspornya ke aplikasi lain juag, dan bisa berjalan dengan baik.

pustaka :
Hariyanto, Esensi–esensi Bahasa Pemrograman Java, Andi, Yogyakarta, 2003.

Kamis, 27 Oktober 2011

browser

mikirin mau nulis apa mendadak kepikiran web browser. yuk bahas sekilas tentang web browser. hehe

Web browser adalah suatu perangkat lunak yang digunakan untuk menampilkan halaman-halaman website yang berada di internet. 

pada web browser sering muncul istilah-istilah, diantaranya adalah :
  • website yaitu halaman-halaman yang terhubung dalam suatu website 
  • homepage yaitu halaman awal ketika suatu situs dimunculkan,biasanya juga sebagai penghubung ke website yang lain. 
  • URL yaitu alamat unik pada suatu halaman web, yang digunakan web server untuk mengirimkan halaman web tersebut ke komputer yang mengaksesnya
  • www yaitu kumpulan dari dokumen-dokumen elektronik yang kemudian disebut web 
beberapa macam web browser yang biasanya kita gunakan yaitu :
1. Internet Expoler
2. Mozilla
3. Opera
4. Netscape
5. Flock browser 


referensi
http://id.wikipedia.org/wiki/Peramban_web




Rabu, 26 Oktober 2011

DISK FORENSIK - PART 2

B. Meta Data

Metadata adalah informasi terstruktur yang mendeskripsikan, menjelaskan, menemukan, atau setidaknya membuat menjadikan suatu informasi mudah untuk ditemukan kembali, digunakan, atau dikelola. Metadata sering disebut sebagai data tentang data atau informasi tentang informasi. Metadata ini mengandung informasi mengenai isi dari suatu data yang dipakai untuk keperluan manajemen file/data itu nantinya dalam suatu basis data. Jika data tersebut dalam bentuk teks, metadatanya biasanya berupa keterangan mengenai nama ruas (field), panjang field, dan tipe fieldnya: integer, character, date, dll. Untuk jenis data gambar (image), metadata mengandung informasi mengenai siapa pemotretnya, kapan pemotretannya, dan setting kamera pada saat dilakukan pemotretan. Satu lagi untuk jenis data berupa kumpulan file, metadatanya adalah nama-nama file, tipe file, dan nama pengelola (administrator) dari file-file tersebut.

Metadata memberikan fungsi yang sama seperti katalog yaitu:
membuat sumberdaya bisa ditemukan dengan menggunakan kriteria yang relevan;
mengidentifikasi sumberdaya
mengelompokkan sumberdaya yang serupa
membedakan sumberdaya yang tak miliki kesamaan
memberikan informasi lokasi

Terdapat tiga jenis utama metadata:
Metadata deskriptif menggambarkan suatu sumberdaya dalam maksud seperti penemuan dan identifikasi. Dia bisa meliputi elemen semisal judul, abstrak, pengarang, dan kata kunci.
Metadata struktural menunjukkan bagaimana kumpulan obyek disusun secara bersama-sama menjadi satu, semisal bagaimana halaman-halaman ditata untuk membentuk suatu bab.
Metadata administratif menyediakan informasi untuk membantu mengelola sumberdaya, semisal terkait kapan dan bagaimana suatu informasi diciptakan, tipe dokumen dan informasi teknis lainnya, serta siapa yang bisa mengaksesnya.

C. Disk Copy

Disk Copy merupakan utilitas default untuk menangani gambar disk dalam Sistem Windows 7 sampai Mac OS X 10.2 (Digunakan di Perangkat Lunak Sistem 6 juga). Dalam versi terbaru dari Mac OS X telah digantikan oleh DiskImageMounter untuk memasang foto dan Disk Utility untuk menciptakannya.

Meskipun rilis resmi publik terakhir Disk Copy untuk Mac OS 9 adalah versi 6.3.3, pada ada versi 6.5 yang mendukung format gambar baru diperkenalkan DMG dengan Mac OS X. Tapi karena Apple telah menghentikan dukungan untuk OS 9 sudah, dukungan untuk OS tua itu akhirnya dihapus mendukung OS X. dengan demikian versi 9 OS 6,5 hanya pernah dibuat untuk beta 13 sebelum pembangunan di atasnya berhenti. Ada juga versi pengembang bahwa 6,5 6,4 didasarkan pada dan memiliki sebagian besar fungsi yang sama, tetapi sebagai versi pengembang itu tidak pernah dirilis. Meskipun versi 6.4 dan 6.5 akan membaca gambar DMG ketika sistem di-boot ke OS 9, mereka hanya dapat melakukannya jika gambar tidak terkompresi.

Disk Copy juga merupakan nama sebuah utilitas Apple didistribusikan dengan beberapa versi awal Mac OS. Dalam rangka untuk menyalin floppy disk 400K sebagai swap disk yang menggunakan sesedikit mungkin pada mesin dengan hanya 128K RAM, Copy Disk asli digunakan buffer layar untuk menyimpan data biner dari disk disalin, sebagai akibatnya, layar (selain area kecil di bagian bawah menampilkan GUI) penuh dengan kebisingan saat menyalin sedang berlangsung.

D. File Carving

File carving adalah proses menyusun kembali file-file komputer dari fragmen dalam ketiadaan metadata filesystem. Proses ukiran ini memanfaatkan pengetahuan tentang struktur file yang umum, informasi yang terkandung dalam file, dan heuristik tentang bagaimana data filesystem fragmen. Untuk menggabungkan ketiga sumber informasi, file carving menyimpulkan sistem yang fragmen agar bersama.

File carving memiliki tugas yang sangat kompleks, dengan sejumlah permutasi berpotensi besar untuk mencoba. Untuk membuat tugas ini berurutan, perangkat lunak carving biasanya membuat ekstensif menggunakan model dan heuristik. Hal ini diperlukan tidak hanya dari sudut pandang waktu eksekusi, tetapi juga untuk keakuratan hasil. Keadaan algoritma file carving yang menggunakan teknik statistik seperti pengujian hipotesis sekuensial untuk menentukan titik fragmentasi.

Garfinkel melaporkan statistik fragmentasi dikumpulkan dari lebih 350 disk yang mengandung FAT, NTFS dan sistem file UFS. Dia menunjukkan bahwa sementara fragmentasi dalam disk khas adalah rendah, tingkat fragmentasi file forensik penting seperti email, JPEG dan MS-​Word relatif tinggi. Tingkat fragmentasi file JPEG ditemukan 16%, MS-Word dokumen telah fragmentasi 17%, AVI (format film) memiliki tingkat fragmentasi 22% dan PST file (MS-Outlook) memiliki tingkat fragmentasi 58%. Pal, Shanmugasundaram, dan Memon disajikan algoritma yang efisien didasarkan pada heuristik serakah dan pemangkasan alpha-beta untuk pemasangan kembali gambar terfragmentasi. Pal, Sencar, dan Memon diperkenalkan pengujian hipotesis sekuensial sebagai mekanisme yang efektif untuk mendeteksi titik fragmentasi. Richard dan Roussev  menyajikan pisau bedah (Scalpel), open-source file alat bantu carving.
referensi :
http://dytoshareforum.forumotion.net/t2470-winhex-159-sr-7-program-hex-editor
http://www.forensicswiki.org/wiki/File_Format_Identification
http://en.wikipedia.org/wiki/File_carving
http://en.wikipedia.org/wiki/Disk_Copy
http://id.wikipedia.org/wiki/Metadata
http://id.shvoong.com/internet-and-technologies/1679555-file/#ixzz1b6bAuIqd
http://asyafaat.files.wordpress.com/2009/01/forensik_0-_-90_1s.pdf

Minggu, 23 Oktober 2011

:)

happy sunday everyone :)

belakangan gue berasa berada di titik kejenuhan yang akut. akut sekali hahaha
sekeliling gue ngga bersahabat banget rasanya ..  
dan jelas itu artinya gue harus membangun semangat dan percaya diri gue kembali (:

sekarang udh balik belom ya ?
haha bisa dibilang udah tapi moody masih :) terlalu sensitif dan cenderung mudah tersinggung.


tapi tenang gue gamakan orang *eh
ngomong-ngomong tentang badmood apa sih yang lo pada lakuin kalo badmood ?
*nanya sama siapa* *siapa aja*

hehehe yang pasti

"apapun yang buat gue jatoh atau hancur gabakal mempengaruhi gue kedepannya, dan gue pasti bakal jadiin yang lalu itu pelajaran buat jd pribadi yg lebih baik kedepannya"

Sabtu, 22 Oktober 2011

html dan website sederhana

HTML (HyperText Markup Language) merupakan sebuah bahasa standar yang digunakan oleh browser Internet untuk membuat halaman dan dokumen pada sebuah Web yang kemudian dapat diakses dan dibaca layaknya sebuah artikel. Dengan HMTL kita dapat Mengontrol tampilan dari web page dan contentnya, Mempublikasikan dokument secara online sehingga bisa di akses dari seluruh dunia, Membuat online form yang bisa di gunakan untuk menangani pendaftaran, transaksi secara online.  Contoh penggunaan tag dalam sebuah web sederhana :


Koding diatas menjelaskan tentang beberapa penerapan tag pada html untuk pembuatan website sederhana. koding dituliskan menggunakan notepad++. Tag html mengawali potongan koding diatas, tag tersebut digunakan untuk memberitahu bahwa dalam tag tersebut merupakan dokumen HTML. Kemudian header untuk menentukan judul dokumen HTML yang akan menjadi judul homepage web yang dibuat. Tag body berisi pendeklarasian isi dan tampilan dokumen HTML. Didalam tag body inilah isi dan tampilan sebuah web diatur dengan menggunakan beberapa tag HTML.Tag yang diawali dengan h.. merupakan header atau judul paragraf. Tag ini terdiri dari h1, h2, h3, h4, h5, h6 dengan ukuran huruf yang berbeda-beda dan secara default sudah bold.
Untuk menentukan posisi teks digunakan atribut “text-align”, untuk menentukan jenis huruf gunakan “font-family”, dan untuk menambah ukuran huruf gunakan “font-size”. Tag p digunakan untuk membuat sebuah paragraf. Tag p memiliki beberapa atribut, diantaranya “font-family”, “color” untuk member warna pada teks, dan “background-color”. Disini tag br
digunakan untuk pindah ke baris baru atau enter.tag marquee digunakan untuk membuat teks berjalan. Sedangkan tag u dan i untuk membuat tulisan tercetak miring dan bergaris bawah.
Potongan koding diatas akan menampilkan teks pada website. Selanjutnya untuk memasukkan gambar dapat digunakan Tag  img. Kemudian Atribut “src” menyatakan sumber/nama gambar (ditulis lengkap bersama format gambar), “width”untuk menentukan lebar gambar, “height” untuk menentukan tinggi gambar, dan “alt” untuk menampilkan teks jika gambar tidak muncul di halaman web.

hasilnya yaitu : THE SMURFS website :D

warna warna

dari awal kepengen banget ngebahas warna. gatau kenapa mungkin gara-gara warna itu dipake dimana aja yah contoh deketnya aja itu lampu lalu lintas. hahaha

jadi apa sih warna itu?
warna dapat didefinisikan secara obyektif/fisik sebagai sifat cahaya yang dipancarkan, atau secara subyektif/psikologis sebagai bagian dari pengalaman indera pengelihatan. Secara obyektif atau fisik, warna dapat diberikan oleh panjang gelombang. Dilihat dari panjang gelombang, cahaya yang tampak oleh mata merupakan salah satu bentuk pancaran energi yang merupakan bagian yang sempit dari gelombang elektromagnetik. 

yang familiar dari warna menurut gue si warna yang ada di cat warna yang dua belas itu loh. hehe ..

Gimana sih pembagian warna atau jenis-jenis warna itu?
warna asas
merupakan warna-warna yang paling hebat kuasanya. Ia merupakan warna yang utama dalam pembentukan warna-warna yang lebih pelbagai. Warna asas juga dikenali sebagai warna primer. warna asas terdiri daripada 3 warna iaitu:
  • Merah
  • Biru
  • Kuning
warna sekunder
warna Sekunder ialah warna yang terhasil daripada campuran dua warna asas. tiga warna sekunder tersebut ialah:

Warna Asas 1 Campuran Warna Asas 2 Hasil Warna
Merah + Kuning Jingga
Kuning + Biru Hijau
Biru + Merah Ungu

warna tertier
Campuran satu warna asas dengan warna sekunder di sebelahnya. Warna tertier terdiri daripada 6 warna.
Warna Asas Campuran Warna Sekunder Hasil Warna
Kuning + Hijau Kuning Hijau
Kuning + Jingga Kuning Jingga
Merah + Jingga Merah Jingga
Merah + Ungu Merah Ungu
Biru + Ungu Biru Ungu
Biru + Hijau Biru Hijau

demikianlah sedikit tentang warna secara umumnya :)

referensi :
http://http://ms.wikipedia.org/wiki/Warna
http://www.scribd.com/doc/14846151/Teori-WARNA-Albert-Munsell

Sabtu, 08 Oktober 2011

Konsep dan Prinsip Analisis

1. Analisis kebutuhan P.L
          Analisa kebutuhan merupakan langkah awal untuk menentukan perangkat lunak seperti apa yang akan dihasilkan, ketika kita melaksanakan sebuah proyek pembuatan perangkat lunak. Perangkat lunak yang baik dan sesuai dengan kebutuhan pengguna sangat bergantung kepada keberhasilan dalam melakukan analisa kebutuhan. Tidak peduli bagaimana hebatnya seseorang dalam menulis kode perangkat lunak, atau membuat antar muka yang menawan, jika terjadi kesalahan dalam analisa kebutuhan, itu artinya perangkat lunak yang dibuat menjadi tak berguna.
Analisa kebutuhan adalah sebuah proses untuk mendapatkan informasi, model, spesifikasi tentang perangkat lunak yang diinginkan klien/pengguna. Kedua belah pihak, yaitu klien dan pembuat perangkat lunak terlibat aktif dalam tahap ini. Informasi yang diperoleh dari klien/pengguna inilah yang menjadi acuan untuk melakukan desain perangkat lunak.
Ada 3 faktor yang harus dipenuhi ketika melakukan analisa kebutuhan ini yaitu : lengkap, detail, dan benar. Lengkap artinya semua yang diharapkan oleh klien telah didapatkan oleh pihak yang melakukan analisa. Sedangkan detail maksudnya adalah berhasil mengumpulkan informasi yang rinci sampai hal-hal yang kecil. Semua data dari analisa kebutuhan ini haruslah benar, sesuai apa yang dimaksud oleh klien, bukan benar menurut apa yang difikirkan oleh pihak yang melakukan analisa. Sebuah kutipan anonim yang sering disampaikan mengenai hal ini adalah : “Saya percaya anda sangat mengerti dengan apa yang saya katakan, namun saya tidak yakin bahwa apa yang anda dengar adalah sama dengan apa yang saya maksud”.

2. Teknik komunikasi
Komunikasi adalah proses penyampaian suatu pesan oleh seseorang kepada orang lain untuk memberi tahu atau untuk mengubah sikap, pendapat, atau perilaku, baik langsung secara lisan, maupun tak langsung melalui media.

TEKNIK KOMUNIKASI
  • Mengawali Proses
Gause dan Weinberg [GAU89] menyarankan agar analis memulainya dengan mengajukan pertanyaan bebas konteks, dimana pertanyaan tersebut berfokus pada pelanggan, tujuan keseluruhan, dan keuntungan.
Contoh:   
  • Siapa di balik permintaan untuk pekerjaan ini?  
  • Apa keuntungan ekonomi dari pemecahan yang berhasil?
  • Rangkaian pertanyaan berikutnya memungkinakan analis mendapatkan pemahaman yang lebih baik mengenai masalah dan pelanggan, untuk menyatakan persepsinya terhadap suatu pemecahan.
Contoh:   
  • Masalah apakah yang akan diselesaikan oleh pemecahan ini?
  • Dapatkah anda memperlihatkan kepada saya atau menjelaskan lingkungan dimana pemecahan tersebut akan digunakan?
Rangkaian pertanyaan berikutnya berfokus pada efektifitas pertemuan. [GAU89] memberikan contohnya sebagai berikut:
  • Apakah ada orang lain yang dapat memberikan informasi tambahan?
  • Apakah ada hal lain yang harus saya tanyakan kepada anda?
Pertanayan-pertanyaan tersebut akan membantu anda mengawali komunikasi yang perlu untuk berhasilnya analisis. Pada dasarnya sesi tanya jawab seharusnya digunakan pada pertemuan pertama dan kemudian diganti dengan format yang mengkombinasikan  lemen-elemen pemecahan masalah, negosiasi, dan spesifikasi

  • Teknik Spesifikasi Aplikasi yang Terfasilitasi
Adanya teknik pendekatan spesifikasi aplikasi yang teratasi / facilitated aplication spesification techniques (FAST) dapat mendorong munculnya tim gabungan antara pengembang dan pelanggan yang bekerjasama untuk mengidentifikasimasalah, mengusulkan elemen pemecahan, menegosiasi pendekatan yang berbeda, dan mengkhususkan rangkaian pemecahan awal [ZAH90].Banyak pendekatan yang berbeda terhadap FAST telah diusulkan. Masing-masing pendekatan menggunakan skenario yang sangat berbeda, tetapi semuanya menerapkan beberapa variasi tuntutan dasar seperti:  Pertemuan dilakukan di sisi netral dan dihadiri baik oleh pengembang maupun pelanggan.  Aturan main untuk persiapan dan partisipasi dibuat.
          Sebuah mekanisme definisi (dapat merupakan sebuah lembar kerja, diagram flip, stiker dinding, atau papan tembok) digunakan. FAST bukanlah obat bagi masalah yang dihadapi dalam pengumpulan awal berbagai persyaratan, tetapi pendekatan tim memberikan keuntungan dari banyak sudut pandang, diskusi sesaat, dan penyaringan, serta merupakan langkah maju konkrit ke arah pengembangan spesifikasi.

  • Penyebaran Fungsi Kualitas
Disebut juga Quality function deployment (QFD) adalah teknik manajemen kualitas yang menerjemahkan kebutuhan pelanggan ke dalam persyaratan teknis bagi perangkat lunak.
QFD mengidentifikasi 3 persyaratan [ZUL92] yaitu:   
  • Persyaratan normal:
  • Sasaran dan
  • tujuan dinyatakan bagi sebuah produk atau sistem selama pertemuan dengan pelanggan.
Bila persyaratan ini ada, maka pelanggan akan menjadi puas.
Contoh : tipe tampilan grafis yang diminta, dan tingkat kerja yang didefinisikan.   Persyaratan yang diharapkan: Persyaratan ini implisit terhadap produk atau sistem dan sangat fundamental sehingga pelanggan tidak menyatakannya secara eksplisit. Ketidakhadirannya menyebabkan ketidakpuasan.
Contoh: Mudahnya instalasi perangkat lunak.
Exciting requirment: Persyaratan ini sangat diharapkan oleh pelanggan dan terbukti sangat memuaskan bila ada. Misalnya, perangkat lunak pengolah kata diharapkan dengan fitur standar. Produk yang disampaikan berisi sejumlah kemampuan layout halaman yang sangat menyenangkan dan tidak terduga. Dalam kenyataan, QFD mencakup seluruh proses rekayasa [AKA90]. Tetapi banyak konsep QFD dapat diaplikasikan ke dalam masalah komunikasi pelanggan yang dihadapi oleh perekayasa perangkat lunak selama tahap awal analisis
persyaratan.

3. Prinsip Analisis
Masing-masing metode analisis memiliki titik pandang yang unik. Tetapi semua metode analisis dihubungkan oleh serangkaian prinsip operasional:
  1. Domain informasi dari suatu masalah harus direpresentasikan dan dipahami.
  2. Fungsi-fungsi yang akan dilakukan oleh perangkat lunak harus didefinisikan.
  3. Tingkah laku perangkat lunak (sebagai suatu urutan kejadian eksternal) harus diwakilkan.
  4. Model-model yang menggambarkan informasi, fungsi, dan tingkah laku harus dipecah-pecah dalam suatu cara yang membongkar suatu detail dalam bentuk lapisan.
  5. Proses analisis harus bergerak dari informasi dasar ke detail implementasi.
Dengan mengaplikasikan prinsip-prinsip tersebut, analis mendekati suatu masalah secara sistematis. Domain informasi diuji sehingga fungsi itu dapat dipahami secara lebih lengkap. Model-model digunakan sehingga karakteristik fungsi dan tingkah laku dapat dikomunikasikan dengan cara yang rapi. Pembagian diterapkan untuk mengurangi keruwetan. Pandangan esensial dan implementasi dari perangkat lunak diperlukan untuk mengakomodasi batasan logis yang dibebankan oleh persyaratan pemrosesan dan batasan fisik yang dibebankan oleh elemen sistem yang lain. Perekayasa perangkat lunak yang mempercayai prinsip tersebut akan dapat lebih mengembangkan spesifikasi perangkat lunak yang kemudian akan menjadi dasar yang kuat bagi desain.

Model dalam perangkat lunak harus dapat memodelkan informasi yang ditransformasikan oleh perangkat lunak, fungsi (dan subfungsi) yang memungkinkan transformasi terjadi, dan tingkah laku sistem pada saat transformasi terjadi. Dalam beberapa kasus, model yang kita buat menggunakan notasi grafis yang menggambarkan informasi, pemrosesan, tingkah laku sistem, dan karakteristik lain sebagai simbol yang berbeda dan dapat dikenali. Informasi deskriptif dapat diberikan dengan menggunakan bahasa natural atau bahasa khusus untuk menggambarkan persyaratannya.
Prinsip analisis operasional mengharuskan kita membangun model fungsi dan tingkah laku.
 • Model fungsional: Perangkat lunak mentransformasi informasi, dan untuk melakukannya, perangkat lunak harus melakukan paling tidak tiga fungsi genetik: input, pemrosesan, dan output. Pada saat model fungsional dari suatu aplikasi dibuat, perekayasa perangkat lunak memfokuskan diri pada fungsi-fungsi masalah khusus. Model fungsi dimulai dengan sebuah model tingkat konteks tunggal (yakni nama perangkat lunak yang akan dibuat). Dengan serangkaian iterasi, maka lebih banyak lagi detail fungsionaldiberikan, sampai seluruh rancangan dari semua fungsionalitas sistem terwakili.
Model tingkah laku: Sebagian besar perangkat lunak merespon kejadiankejadian dari dunia luar. Karakteristik stimulus-respon ini membentuk dasar dari model tingkah laku. Model tingkah laku menciptakan representasi pernyataan-pernyataan perangkat lunak dan event-event yang menyebabkan perangkat lunak mengubah pernyataan.

Model yang diciptakan selama analisis persyaratan melayani sejumlah peran penting:
-        Model membantu analis dalam memahami informasi, fungsi, dan tingkah laku suatu sistem, sehingga membuat tugas analisis persyaratan menjadi lebih mudah dan lebih sistematis.
-        Model menjadi titik fokus bagi kajian sehingga merupakan kunci bagipenentuan kelengkapan, konsistensi, dan akurasi dari spesifikasi.
-        Model menjadi dasar bagi pengerjaan desain, memberi perancang suatu representasi esensial dari perangkat lunak yang dapat diterjemahkan ke dalam suatu konteks implementasi.

Meskipun metode pemodelan yang digunakan sering menjadi masalah preferensi personal atau organisasional, aktivitas pemodelan adalah dasar bagi kerja analisis yang baik.

4. Prototyping Perangkat Lunak
 Prototyping perangkat lunak adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep working model. Yang bertujuan untuk mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode sebelumnya dan biayanya akan menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi ini adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.
 Protoyping juga membantu dalam hal menemukan kebutuhan di tahap awal pengembangan, terutama jika klien tidak yakin dimana masalah berasal. Selain itu protoyping juga berguna sebagai alat untuk mendesain dan memperbaiki user interface – bagaimana sistem akan terlihat oleh orang-orang yang menggunakannya.

5. Spesifikasi dan kajian spesifikasi
Metode spesifikasi sama dengan pemecahan masalah. Pereka PL yang dipaksa bekerja dengan spesifikasiyang tidak lengkap,tidak konsisten,atau salah akan mengalami frustasi atau keraguan.akibatnya, kualitas ,ketepatan waktu dan kelengkapan perangkat lunak menjadi korban.

Prinsip spesifikasi
Spesifikasi, tanpa mempedulikan mode dimana kita melakukannya, dapat dilihat sebagai sebuah proses representasi. Persyaratan diwakilkan dengan suatu cara yg membawa ke arah implementasi yang berhasil. Berikut ini sejumlah prinsip spesifikasi yang diadaptasi dari kerja Blazer dan Goldman[BLA 86].
  1. Memisahkan fungsional dari implementasi
  2. Mengembangkan suatu model dari system yang diperlukan yg meliputiData dan respon fungsional dari suatu system terhadap berbagai stimulus dari lingkungan.
  3. Membangun konteks dimana PL beroperasi dengan menentukan cara dimana komponen system yg lain berinteraksi dengan PL.
  4. Menentukan lingkungan dimana system beroperasi dan menunjukan bagaimana “ sekumpulan agen yang sangat terjalin bereaksi terhadap stimulus dalam lingkungan.
  5. Menciptakan sebuah model yg kognitif daripada model desain atau implementasi.Model kognitif menggambarkan sebuah system sebagaimana dirasakan oleh komunitas pemakainya.
  6. mengenali spesifikasi harus toleran terhadap ketidak lengkapan dan dapat di tambah.
  7. Membangun muatan dan struktur spesifikasi dengan suatu cara yang akan memungkinkan spesifikasi dapat ditambah agar dapat berubah.
Representasi
Kita mengetahui bahwa persyaratan PL dapat ditentukan dalam berbagai cara. Akan tetapi, bila persyaratan itu dimasukan pada kertas atau media presentasi electronic, maka diperoleh panduan sederhana:
-Format dan muatan representasi harus relevan dengan masalah.
-Informasi yang di isikan kedalm spesifikasi harus disarangkan.

Spesifikasi persyaratan PL
Spesifikasi persyaratan PL dibuat pada puncak tugas analisis. Fungsi dan kinerja yang dialokasikan pada PL sebagai bagian dari rekayasa system, diperhalus dengan membangun sebuah diskripsi informasi lengkap,diskripsi tingkah laku dan fungsional lengkap,indikasi persyaaratan kinerja dan batasan desain, criteria validasi yang sesuai, dan data lain yang berkenaan dengan persyaratan. The Nation Bureau of Standards, IEE( standard no. 830- 1984) dan Departement Pertahanan AS mengusulkan format calon untuk spesifikasi persyaratan perangkatan perangkat lunak. Berikut merupakan kerangka kerj untuk spesifikasi.
a. Pendahuluan
- Refrensi system
- Deskripsi keseluruhan
- Batasan proyek PL
b.Deskripsi informsi
- Representasi isi informasi
- Representasi aliran informasi
- aliran data
- aliran kontrol
c.Deskripsi fungsional
- Pembagian fungsional
- deskripsi fungsional
- gambaran pemrosesan
- retriksi / keterbatasan
- persyaratan kinerja
- batasan desain
- diagram pendukung
- diskripsi control
- spesifikasi control
- batasan desain
d.Diskripsi prilaku
- peryataan system
- event dan tindakan
e.Validasi dan kreteria
- batas kinerja
- kelas- kelas pengujian
- respon PL
- pertimbangan khusus
f.Bibliografi
g.Lampiran

~ Kajian spesifikasi
Kajian dari suatu spesifikasi persyaratan perangkat lunak dilakukan baik oleh pelanggan atau pengembang PL. Karena spesifikasi membentuk dasar bagi desain dan aktivitas rekayasa selanjutnya, maka kajian harus dilakukan dengan hati- hati. Kajian dilakukan pertama kali pada tingkat makroskopik.pada tingkat ini pengkaji akan memastikan bahwa spesifikasi sudah lengkap, konsisten, dan, akurat
Pertanyaan - pertayan berikut dapat di ajukan contohnya
Apakah tujun dan sasaran yang diyatakan bagi perangkat lunak tetap konsisten dengan tujuan dan sasaran system?
  • Apakah interface penting kesemua element system sudah digambarkan?
  • Apakah fungsi mayor tetap ada pada ruang lingkup, dan sudah digambarkan dengan lengkap dn tepat?
  • Apakah tingkah laku PL konsisten dengan informasi yang harus diproses dan fungsi harus dilakukannya?
  • Apakah batasan desain realistis?
  • Apakah resiko teknologis pengembang sudah dipertimbangkan?
Pengkaji dapat mengembangkan pertayaan diatas dengan :
Mencari konektor persuasive
  • Bila suatu daftar yang diberikan tidak lengkap,pastikan jenisnya sudah dipahami.
  • Pastikan jangkauan yg dinyatakan tidak berisi asumsi yg tidak dinyatakan.
  • Hati hatilah pada kata kerja yang kabur
  • Hati hati terhadap kata ganti yang ambiguitas
  • Cari pertanyaan yang mengimplimentasikan kepastian Bila kajian lengkap spesifikasi persyaratan PL diakhiri oleh pelanggan atau pengembang.
Perubahan yang diminta setelah spesifikasi itu di akhiri tidak akan dieleminasi, tetapi pelanggan harus mencatat bahwa masing – masing perubahan setelah pengakhiran spesifikasi merupakan ekstensi dari ruang lingkup PL yang demikian dapat menambah biaya dan atau dapat memperpanjang jadwal proyek.Bahkan dengan prosedur kajian terbaikpun, tetap ada sejumlah masalah spesifikasi. Spesifikasi sulit di uji dalam berbagai cara yang berarti sehingga inkonsistensi dan penghilangan dapat berlangsung tanpa terlihat. Selama kajian , perubahan terhadap terhadap spesifikasi dapat disetujui.Sangat sulit untuk menili pengaruh global dari suatu perubahan ; yaitu bagaimana suatu perubahan dalam suatu fungsi mempengaruhi persyaratan bagi fungsi- fungsi yang lain.

http://tekomunikasi.blogspot.com/
http://lokomediasi.blogspot.com/2009/08/prinsip-konsep-analisa-kebutuhan.html