!– Add-in CSS for syntax highlighting –>

Minggu, 05 Oktober 2014

Use Case, Scenario, Activity Diagram Aplikasi Tempat Kuliner pada smartphone Android

Nama : Wahyu Andrian

Mata Kuliah : Pemrograman Mobile

1. Use Case Diagram Aplikasi Tempat Kuliner pada smartphone Android


2. Use Case Simple Scenario Aplikasi Tempat Kuliner pada smartphone Android




3. Activity Diagram Aplikasi Tempat Kuliner pada smartphone Android



Jumat, 26 September 2014

Software Requirements Spefication (SRS)

Spesifikasi kebutuhan perangkat lunak atau Software Requirements Spefication (SRS) adalah sebuah dokumen yang berisi pernyataan lengkap dari apa yang dapat dilakukan oleh perangkat lunak, tanpa menjelaskan bagaimana hal tersebut dikerjakan oleh perangkat lunak.
Suatu SRS harus mencantumkan tentang deskripsi dengan lingkungannya. Mencakup antarmuka untuk perangkat keras, perangkat lunak, komunikasi dan pemakai. SRS bisa terdiri dari banyak dokumentasi yang saling melengkapi. Suatu SRS harus dapat :
1. Menguraikan definisi masalah
2. Menguraikan masalah dengan tepat dengan cara yang tepat pula
Objektif SRS
1. Persetujuan kerja dengan pelanggan
2. Daftar kebutuhan teknis yang harus dipenuhi oleh perangkat lunak
Syarat Pembentukan SRS
1. Mudah diidentifikasi
2. Diuraikan dengan jelas, simple, sederhana dan concise (Jelas, tidak ambiguous)
3. Bisa divalidasi dan bisa dites (test reliable, test accessable).
4. Mampu untuk ditelusuri kembali (tracebility)
Hindari hal-hal berikut saat pembentukan SRS
1. Over specification (penjelasan berlebih dan berulang-ulang sehingga menjadi tidak jelas)
2. Tindakan unconcistency
3. Ambiguity dalam kata atau kalimat
4. Menuliskan “mimpi-mimpi” , yaitu hal-hal yang tidak bisa dilakukan
Dalam Suatu SRS ada 2 aspek yang harus bisa di lihat :
1. Fungsi
Menjelaskan fungsi dari perangkat lunak (digunakan untuk apa keperluan apa), sifat lunak dan datanya.
2. Non-Fungsi
a. Dependability
• reliability
• maintainbility
• security
• integrity
b. Ergonomic
c. Performance
d. Contraint
Atribut Suatu SRS
1. Benar (correct)
Jika salah (incorrect), artinya spesifikasi yang ditulisadalah bukan yang diinginkan.
2. Tepat (precise)
Berpengaruh pada hasil perancangan dan pembuatan software requirements design (SRD).
3. Unambiguouity
Setiap permintaan harus punya satu interpretasi, atau hanya ada satu arti dalam satu kalimat.
4. Lengkap (complete)
Lengkap jika dilihat dari dua sudut pandang :
• Dokumen membuat tabel isi, nomor halaman, nomor gambar, nomor tabel, dan sebagainya.
• Tidak ada bagian yang hilang (to be define) yaitu tulisan yang akan didefinisikan kemudian
5. Bisa diverifikasi (verifiable)
Bisa diperiksa dan dicek kebenarannya. Setiap kebutuhan selalu dimulai dengan dokumen yang bisa diperiksa.
6. Konsisten
Nilai-nilai kebutuhan harus tetap sama baik dalam karakteristik maupun spesifik misalnya diminta A tetap ditulis A.
7. Understandable
Dapat dimengerti oleh pemrograman, analisis sistem atau sistem engineer
8. Bisa dimodifikasi (modifiedable)
Bisa diubah-ubah dan pengubahannya sangat sederhana tetapi tetap konsisten dan lengkap.
9. Dapat ditelusuri (traceable)
Jika ditelusuri, harus tahumana bagian yang diubah
10. Harus dapat dibedakan bagian what (bagian spesifikasi) dan how (bagian yang menjelaskan bagaimana menjelaskan what tadi)
11. Dapat mencakup dan melingkupi seluruh sistem
12. Dapat melingkupi semua lingkungan operasional, misalnya interaksi fisik dan
operasional.
13. Bisa menggambarkan sistem seperti yang dilihat oleh pemakai.
14. Harus toleran (bisa menerima) terhadap ketidaklengkapan, ketidakpastian (ambiguous) dan ketidak konsistenan.
15. Harus bisa dilokalisasi dengan sebuah coupling, yaitu hubungan ketergantungan antara dua model yang tidak terlalu erat.

Ada 9 macam orang yang terlibat dalam pembuatan SRS :
1. Pemakai (user), Yang mengoperasikan / menggunakan produk final dari perangkat lunak yang dibuat.
2. Client., Orang atau perusahaan yang mau membuat sistem (yang menentukan).
3. Sistem analyst (sistem engineer),. Yang biasa melakukan kontak teknik pertama dengan client. Bertugas menganalisis persoalan, menerima requirementdan menulis requirement.
4. Software engineer,.Yang bekerja setelah kebutuhan perangkat lunak dibuat (bekerja sama dengan sistem engineer berdasarkan SRS)
5. Programmer : Menerima spesifikasi perancangan perangkat lunak, membuat kode dalam bentuk modul, menguji dan memeriksa (tes) modul.
6. Test integration: group Kumpulan orang yang melakukan tes dan mengintegrasi modul.
7. Maintenance group : Memantau dan merawat performansi sistem perangkat lunak yang dibuat selama
pelaksanaan dan pada saat modifikasi muncul (80% dari pekerjaan).
8. Technical Support : Orang-orang yang mengelola (manage) pengembang perangkat lunak, termasuk
konsultan atau orang yang mempunyai kepandaian lebih tinggi.
9. Staff dan Clerical Work : Bertugas mengetik, memasukkan data dan membuat dokumen.

Keberhasilan pengembangan perangkat lunak bisa dilihat dari 10 aspek atau titik pandang, yaitu :
1. Ketelitian dari pembuatnya
2. Kualitas dari spesifikasi perangkat lunaik yang dihasilkan (Baik, jika ada sedikit kesalahan).
3. Integritas
4. Ketelitian
5. Proses Pembuatan yang mantap
6. Mudah dikembangkan
7. Jumlah versi yang tidak banyak
8. Ketelitian dari model pengembangan yang digunakan untuk meramal atribut perangkat lunak
9. Efektivitas rencana tes dan integrasi
10. Tingkat persiapan untuk sistem perawatan (mempersiapkan pencarian bugs)

Referensi : http://aip-77.blogspot.com/2013/10/spesifikasi-kebutuhan-perangkat-lunak.html


Sabtu, 20 September 2014

Tugas OOP: Enkapsulasi
TI1210052
Wahyu andrian


Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.

Main.java








Mahasiswa.java

























Output:











Referensi:http://agungimam.blogspot.com/2013/04/enkapsulasi-pada-java.html

Tugas OOP: Inheritance (Pewarisan)

TI1210052
Wahyu andrian


Inheritance (penurunan sifat / pewarisan), ini merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan). Obyek turunan dapat digunakan membetuk obyek turunan lagi dan seterusnya. Setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki obyek.


Main.java





















Person.java

















Student.java























Output :


















Referensi: http://ainanug.blogspot.com/2012/04/inheritance-dan-polimorfisme-dalam.html

Tugas OOP: Polymorphism


TI1210052
Wahyu andrian

Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.

sepeda.java

















Bicycle.java












MountainBike.java

















RoadBike.java

























Output:









Referensi :
http://dantikpuspita.com/polymorphism-pada-konsep-pbo-java-programming/



Selasa, 09 September 2014

Pengertian OOP

OBJECT ORIENTED PROGRAMMING
• 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. Bahasa pemrograman berbasis object menyediakan mekanisme untuk bekerja dengan:
 kelas dan object
 methods
 inheritance
 polymorphism
 reusability
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.
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. Programmingtipe 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 functionsdan 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:
1. Programs menjadi lebih susah untuk dimaintain.
2. Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
3. 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.
4. Butuh usaha yang keras untuk menterjemahkan Business Models dalam programming models. dll
Karakteristik OOP
Dalam section ini, kita akan melihat beberapa konsep dasar dan term-term yang umum untuk seluruh bahasa OOP.
Objects
Jika kita pikir maka kita sekarang hidup dalam sebuah dunia object-oriented. Kamu adalah object. Kamu berinteraksi dengan object lain. Untuk menulis tugas ini kami berinteraksi dengan object komputer. Ketika saya bangun pagi, saya merespon pesan suara object alarm jam. Faktanya, kamu adalah objectdengan data-data seperti tinggi dan warna rambut. Kamu mempunyai metode-metode yang kamu akan lakukan, seperti makan dan berjalan.
Jadi, apa itu objects? Dalam term OOP, object adalah sebuah structure yang menggabungkan data dan prosedur untuk bekerja bersama-sama. Contoh, jika kamu tertarik dalam pelacakan data yang dihubungkan dengan produk, kamu akan menciptakan sebuah object produk yang bertanggung jawab untuk me-maintenance dan bekerja dengan data yang bersinggungan dengan produk. Jika kamu ingin kemampuan mencetak dalam aplikasi kamu, kamu harus bekerja dengan sebuah object printer yang bertanggung jawab untuk data serta metode yang digunakan untuk berinteraksi dengan printermu.
Abstraction
Ketika kamu berinteraksi dengan object-object di dunia ini, kamu sering hanya konsentrasi dengan sebuah bagian dari propertiesnya. Tanpa kemampuan untuk mensarikan/abstract atau menyaring untuk dibuang properties object yang asing / tidak ada hubungannya, maka kamu akan menemukan kesulitan untuk memproses informasi yang kebanyakan membombarding kamu. Sebagai hasil abstraction, ketika 2 orang berbeda berinteraksi dengan object yang sama, mereka sering setuju dengan bagian yang berbeda atas atribut. Ketika kami mengendarai mobil, kami perlu tahu kecepatan serta tujuan yang akan dicapai.
Karena mobil itu otomatis, maka kami tidak perlu tahu berapa RPMs dari mesinnya, jadi kami akan membuang informasi ini. Tapi informasi ini sangat diperlukan oleh mekanik atau pembalap.
Ketika membangun objects dalam aplikasi OOP, adalah penting untuk menggabungkan konsep abstraction ini. Jika kamu membangun aplikasi shipping, kamu harus membangun objectproduk dengan atribut seperti ukuran dan berat. Warna adalah contoh informasi yang tidak ada hubungannya dan harus dibuang.Tetapi ketika kamu membangun order-entry application, warna menjadi penting dan harus termasuk atribut object produk.
Encapsulation
Ciri penting lainnya dari OOP adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam contoh inventory, jika kita ingin melihat atau mengupdate informasi atas produk, kita seharusnya bekerja melalui object produk. Untuk membaca data, kita mengirimkan pesan ke object produk, kemudian objectproduk akan membaca pesan dan mengirim pesan balik ke kamu.
Object produk mendefinisikan bahwa operasi dapat dilakukan pada data produk. Jika kamu mengirim pesan untuk memodifikasi data dan jika object produk menentukan bahwa permintaan itu valid maka permintaan tersebut akan dilakukan dan akan mengirimkan pesan balik bersama hasilnya.
Pikirkan mengenai Human Resource Department (HRD), yang meng-encapsulasi informasi mengenai karyawan. Mereka menentukan bagaimana data ini dapat digunakan da dimanipulasi. Setiap permintaan data karyawan atau permintaan untuk mengupdate datanya harus dijalankan melalui mereka. Contoh lain, network security. Setiap permintaan informasi security atau perubahan kebijakan security harus dilakukan melalui network administrator. Data security di-encapsulate dari user network.
Dengan melakukan encapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut. Pikirkan ketika kamu mengirim surat melalui pos. Kamu membuat permintaan ke kantor pos agar mengantar surat, dan bagaimana kantor pos menyelesaikannya kita tidak perlu tahu. Jika ada perubahan rute yang digunakan, maka hal itu tidak mempengaruhi keinginan untuk kirim surat lewat kantor pos. Kamu tidak perlu tahu prosedur internal yang digunakan oleh kantor pos untuk mengantar surat.
Polymorphism
Polymorphisms adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih anjing saya dengan perintah untuk menggonggong dan juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon kepada mereka dengan perintah lisan. Melalui polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.
Bagaimana hal ini berhubungan dengan OOP? Kamu dapat membuat objects yang dapat merespon pesan yang sama dalam implementasi yang unik. Contohnya, kamu dapat mengirim pesan print ke object printer yang akan mencetak pada printer, dan kamu juga dapat mengirim pesan yang sama ke object screen yang akan menuliskan pada screen monitor. Dalam OOP, kamu menerapkan tipe polymorphism melalui proses yang disebut overloading. Kamu dapat mengimplementasikan metode yang berbeda pada sebuah object yang mempunyai nama yang sama.
Inheritance
Banyak objects diklasifikasikan menurut hirarki. Contoh, kamu dapat mengklasifikasikan sebuah mobil yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta body. Keturunan berikutnya diklasifikasikan dengan atribut umum seperti ukuran, jumlah roda, isi silinder dll atau mengklasifikasikan mereka atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk atau mobil penumpang. Kamu menggunakan inheritance dalam OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum dan fungsinya. Hal ini akan membuat pekerjaan bersama object lebih mudah dan lebih intuitif. Hal ini juga membuat programming lebih mudah karena memungkinkan kita untuk mengkombinasikan karakteristik umum kedalam object parent dan mewariskan karakteristik ini ke child object.

Aggregation
Aggregation adalah kondisi ketika object berisi gabungan dari object-object yang berbeda dan bekerja bersama. Contoh mesin pemotong rumput terdiri dari object roda, objects mesin, object pisau dll. Object mesinpun merupakan gabungan dari berbagai object. Kemampuan untuk menggunakan aggregation dalam OOP adalah satu feature yang powerful yang memungkinkan model menjadi akurat.
Konsep dari object oriented programming (OOP) adalah lebih dari sekedar sebuah konsep pemrograman, Object oriented programming adalah cara berpikir tentang aplikasi yang mempelajari untuk berpikir bahwa aplikasi bukan sekedar prosedur melainkan sebagai object dan real entity. Object yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi object oriented programming merupakan cara yang paling efisien untuk menulis program komputer yang sangat mudah untuk di kombinasikan dan untuk dipergunakan kembali.
Object oriented programming lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer harus mempelajari object oriented programming bahkan seorang programmer yang tidak pernah bekerja dengan object oriented programing pun harus mempelajarinya juga. Hal ini dikarenakan pada suatu hari nanti semua bahasa pemrograman akan menambahkan kemampuan object oriented programming pada bahasanya. Object oriented programming yang paling populer adalah java dan C++, tetapi visual basic pun sudah ikut menambahakan kemampuan ini sejak meluncurkan VB 4.0. Pada kesempatan kali ini kita hanya akan membahas tentang visual basic dan C++ saja. Sesuai dengan namanya object oriented programming maka konsep object merupakan jantung dari object oriented programming