[Tugas Kuliah] Aplikasi Manajemen Tiket MetroMini Dengan PHP & MySQL


Hallo semuanya! apa kabar para kerabat kodok yang berbahagia! gimana kabarnya nih, pada sehat semua apa malah lagi pada galau mikirin kerjaan, deadline, atau tugas yang bejibun dari kampus :D Apa jangan-jangan malah lagi semangat-semangatnya kerja nih. #cieee

Ya, Jumpa lagi bersama saya Mas Kodook dalam acara #Ngumpul_Tugas_UTS. Pada artikel kali ini, saya akan memberikan tutorial tentang pembuatan Aplikasi Manajemen Tiket MetroMini dengan PHP & MySQL. Kurang lebihnya, saya akan membeberkan beberapa step pembuatannya. Tapi inget! Mas Kodook ga bakalan ngejelasin tentang basic-basic PHP diartikel ini, contohnya ya kayak apa itu fungsi, apa itu mysql_query, $_GET, $_POST, dan lain-lain yang pastinya bisa kalian tanya sama mbah bing google :D

Jadi intinya, Mas Kodook di suruh pak Agus selaku Kaprodi dan Dosen mata kuliah Pemrograman Web untuk mengerjakan soal UTS kali ini, terus harus di posting di blog masing-masing. Gimana? Penasaran kan sama bentuk soalnya? nih Mas Kodook post juga disini biar makin kece.


Nah, itu dia soal yang diberikan oleh pak Agus, jadi program yang dibuat boleh menggunakan bahasa pemrograman seperti ASP, PHP atau JAVA. Kemudian harus terkoneksi dengan database SQL Server atau MySQL. Setelah itu, didalam program harus terdapat fungsi-fungsi seperti aritmatika, if else if, for, while dll.

Oke baiklah! Tanpa banyak basa-basi lagi, mari kita mulai saja bagaimana Mas Kodook mengerjakan soal tersebut! cekidot!

Penjelasan Program Yang Dibuat

Nama Program : Aplikasi Manajemen Tiket MetroMini dengan PHP & MySQL
Tujuan : Program ini bertujuan untuk mempermudah manajemen  pembelian tiket metromini, mengelola data angkutan umum, user, dan juga tarif metromini.
Fitur-Fitur : 
  • 1. Program ini Menggunakan Konsep Modular (Prosedural PHP Programming)
    Jadi siapa saja yang baru belajar PHP & MySQL bisa mempelajari alur program ini. Bahkan dapat mengembangkannya.
  • 2. Memiliki Modul Manajemen Tiket
  • 3. Memiliki Modul Manajemen Angkot
  • 4. Memiliki Modul Manajemen User
  • 5. Memiliki Modul Setting Tarif
  • 6. File dan folder dibuat terstruktur
  • 7. Memiliki fungsi Pagination Search untuk semua modul
  • 8. Memiliki Fungsi Tambah, Edit, Delete, Cari, Lihat Detail
  • 9. Validasi Data
  • 10. Include fungsi-fungsi yang terdapat didalam soal seperti (while, for, if else if, switch, dll)
  • 11. Memiliki relasi antar tabel (tabel tiket_order dan tabel tiket_angkot) INNER JOIN
  • 12. Implementasi Penggunaan $_GET dan $_POST
  • 13. Switch case digunakan untuk controller ?page= dan &action=
  • 14. Menggunakan Database MySQL
  • 15. Dan masih banyak lagi :D silahkan di oprek sendiri nanti ya.

Persiapan Pembuatan

Sebelum kita masuk ke tahap pembuatan program, anda harus menyiapkan beberapa alat perang terlebih dahulu:

1. Server Lokal (localhost), anda bisa menggunakan XAMPP atau AppServ yang bisa anda download pada link berikut : http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.10.exe?download

2. Code Editor, seperti Notepad++, Notepad biasa, Sublime Text atau bisa juga menggunakan Adobe Dreamweaver

3. Siapkan juga source code aplikasi program yang telah saya upload di Github, Sebagai bahan contekan jika anda lupa atau bingung mau ngetik apaan tau :D download or clone here: https://github.com/maskodok/aplikasi-manajemen-tiket-metromini

Langkah-Langkah Pembuatan

Note: Saya tidak mengetik codingannya satu persatu dikarenakan pasti akan memakan banyak waktu di artikel ini. jadi saya jelaskan saja proses pembuatannya dari mulai buat file apa, folder apa dan lain sebagainya. *just copas :) you can type a beautiful codes on your own PC*

1. Pertama-tama, buat terlebih dahulu databasenya. Berikut spesifikasi tabel-tabel yang terdapat didalam database tiket.

Tabel: tiket_angkot
primary key: id_angkot (auto_increment)







Tabel: tiket_order
Primary key: id_order (auto_increment)
Foreign key: id_angkot





















Tabel: tiket_user
Primary key: id (auto_increment)








Tabel: tiket_setting
Primary key: id_setting






Note: jika anda males buat database atau hanya sekedar ingin testing, silahkan create database baru, kemudian import file tiket.sql yang sudah penulis sertakan di file source code :D

2. Setelah membuat database, buat folder baru di server lokal anda /www atau /htdocs, kemudian buat file koneksi.php isilah dengan code konfigurasi database sebagai berikut:













3. Selanjutnya buat beberapa folder untuk meletakan file .css, file image (gambar), dan juga module.








4. Next, buat file index.php yang nantinya akan kita gunakan untuk halaman Login. kemudian isi dengan code berikut:


























5. Selanjutnya, buat file style.css kemudian letakkan didalam folder /css. Maka struktur file dan foldernya akan terlihat sebagai berikut:
/css
--- style.css
/img
/module
koneksi.php
index.php

6. Setelah itu isi file style.css dengan code berikut ini, (kode hanya sebagian saja yang saya screenshot, dikarenakan terlalu panjang). Untuk kode lengkapnya bisa menuju ke link berikut: https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/css/style.css




























7. Sekarang kita coba buka tampilan halaman login yang sudah kita styling dengan .css, ketikan http://localhost/nama_folder_aplikasi_tiket, (contoh: http://localhost/tiket) maka akan muncul tampilan yang sangat ciamik sebagai berikut:

















8. Next step, agar login dapat bekerja dengan baik, pastinya kita harus memproses form login tersebut. Disini saya menggunakan session untuk meregistrasikan username dan password kita ke session php yang ada di server.

9. Buat file dengan nama cek_login.php untuk memproses form yang ada diatas, kemudian isi dengan code berikut:





























Jika gambarnya kurang jelas, teman-teman bisa langsung copas pada link berikut: https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/cek_login.php

10. Ok, Sekarang apakah form login sudah bisa diproses? jawabannya ada 2. (Ya) jika anda sudah melakukan insert data admin di tabel tiket_user dan (Tidak) jika anda belum melakukan insert data. namun jika anda sudah mengimport file tiket.sql, saya rasa tidak ada masalah :D

11. Eiit! tapi masih ada masalahnya. "Fikiran Programmer itu harus banyak IF dan ELSE nya", jadi maksudnya gini. OK lah, form login sudah bisa di proses dengan file cek_login.php namun setelah itu kita akan di arahkan kemana hayooo :D Yak! tentu saja kita harus membuat halaman untuk mengelola data-data yang ada di database, yaitu halaman administrator.

12. Selanjutnya buat beberapa file berikut:
a. admin.php = digunakan sebagai template untuk halaman admin. Jadi setelah berhasil login, file cek_login.php akan mengarahkan kalian ke halaman admin.php

b. admin_menu.php = digunakan sebagai tempat untuk meletakkan menu navigasi admin. Jadi didalam admin.php, file admin_menu.php akan di include. *puyeng2 lo :v wkwkkw

c. admin_page.php = digunakan sebagai file controller. Jadi file ini merupakan file dimana halaman-halaman lain akan di Include dan ditampilkan berdasarkan request $_GET['page']. *jangan bingung dulu plis*

d. admin_dashboard.php = digunakan untuk menampilkan halaman awal setelah kita login. File ini bersifat statis, jadi anda bisa mengedit file ini sesuka hati.

e. Maka struktur file dan foldernya akan berubah lagi menjadi seperti ini pemirsah:














13. Sekarang kita isi file-file yang sudah kita sebutkan diatas satu persatu.

admin.php

































Source Code Lengkap:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/admin.php

admin_menu.php


Source Code Lengkap:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/admin_menu.php

admin_page.php


Source Code Lengkap:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/admin_page.php

admin_dashboard.php


Source Code Lengkap:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/admin_dashboard.php


13. OK Sip, setelah itu buatlah file dengan nama class.paging.php, file ini berfungsi sebagai class pembantu (helper) untuk membuat data-data yang jumlahnya ada banyak menjadi beberapa halaman. Di Paginasi bahasa gaulnya.

14. Dikarenakan file class.paging.php isinya sangat banyak, maka saya berikan saja source code lengkapnya pada link berikut ini: https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/class.paging.php

15. Selanjutnya buat file logout.php, fungsinya ya untuk logout lah masa untuk fesbukan :D xixixi







16. Nah, Sekarang kita sudah bisa login dan masuk ke halaman admin (dashboard). Tapi tunggu dulu, jangan lupa sertakan file gambar berikut ini kedalam file /img: download gambarnya disni aja:

a. Background:
https://raw.githubusercontent.com/maskodok/aplikasi-manajemen-tiket-metromini/master/img/bg.png

b. Logo:
https://raw.githubusercontent.com/maskodok/aplikasi-manajemen-tiket-metromini/master/img/logo.png

16. Dan akhirnya, struktur file dan foldernya akan berubah lagi seperti ini:
/css/
----> style.css
/img/
----> bg.png
----> logo.png
/module/
admin.php
admin_dashboard.php
admin_menu.php
admin_page.php
cek_login.php
class.paging.php
index.php
koneksi.php
logout.php

17. Sekarang waktunya kita test login. Untuk login, silahkan masukan username: admin dan password: admin , maka akan muncul tampilan halaman dashboard sebagai berikut:



18. Oh iya, jangan lupa juga buat file .htaccess, file ini berfungsi untuk mendenied direktori yang tidak ada isinya jika kita access lewat browser. ya intinya semacam memberikan pengamanan atau security untuk sistem yang kita buat. Walaupun ada pepatah yang mengatakan "tidak ada sistem yang aman didunia ini" :D berikut isi dari file .htaccess tersebut, letakkan sejajar dengan file-file lainnya.
Options All -Indexes

19. Next, kita akan membuat yang namanya MODULE. Modul-modul ini akan berisi file-file yang nantinya dapat memanajemen dan memanipulasi tabel. Pada umumnya, saya menggunakan standar CRUD (Create, Read, Update, Delete) + Cari untuk Modul yang akan dibuat.

20. Ok, langsung saja. pertama-tama kita awali dengan membuat modul angkot. modul angkot ini berfungsi untuk memanajemen data angkutan umum (metromini). Data yang dimanipulasi adalah kode_angkot, dan tujuan. (example: kode_angkot 075, berarti tujuannya Blok M - Mampang)

21. Buat folder baru dengan nama angkot didalam folder /module. setelah itu buat beberapa file didalam folder angkot, file-file ini nantinya akan digunakan untuk pengoprasian database, yaitu:

a. index.php
File ini berfungsi sebagai controller. index.php akan mengontrol request $_GET['action'] yang diminta oleh client. index.php berperan sebagai pondasi file-file lainnya, karena jika tidak ada file ini maka file-file lainnya tidak dapat di panggil atau di include dengan request $_GET['action'].

b. lihat.php
File ini berfungsi untuk menampilkan semua data-data yang terdapat didalam tabel. (tabel tiket_angkot)

c. cari.php
File ini berfungsi untuk menampilkan hasil pencarian.

d. cari_redirect.php
File ini berfungsi untuk meredirect request $_POST yang terdapat didalam form pencarian, kemudian mengkonversinya kedalam $_GET['q'] untuk pencarian yang lebih dinamis.

d. tambah.php
File ini berfungsi untuk menampilkan form Input (tambah data)

e. proses_tambah.php
File ini berfungsi untuk memproses form tambah yang terdapat didalam file tambah.php

f. ubah.php
File ini berfungsi untuk menampilkan form ubah data.

g. proses_ubah.php
File ini berfungsi untuk memproses form ubah.php

h. hapus.php
File ini berfungsi untuk melakukan hapus data sesuai dengan data yang ingin kita hapus


22. Berikut ini merupakan isi (source code) dari beberapa file diatas:

- Path: /module/angkot/index.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/index.php















































- Path: /module/angkot/lihat.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/lihat.php



- Path: /module/angkot/cari.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/cari.php



- Path: /module/angkot/cari_redirect.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/cari_redirect.php



- Path: /module/angkot/tambah.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/tambah.php



- Path: /module/angkot/proses_tambah.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/proses_tambah.php



- Path: /module/angkot/ubah.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/ubah.php



- Path: /module/angkot/proses_ubah.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/proses_ubah.php



- Path: /module/angkot/hapus.php
- Source Code:
https://github.com/maskodok/aplikasi-manajemen-tiket-metromini/blob/master/module/angkot/hapus.php
















23. Nah, sekarang kita bisa melakukan manajemen data angkot dengan file-file diatas :D Jika anda ingin mencobanya, silahkan login ke halaman administrator, setelah itu klik menu "Manajemen Angkot".

24. Hmmm.. mungkin saya rasa artikelnya akan jadi panjang kalau semua modul beserta file-filenya saya cantumkan disini screenshotnya :D oleh karena itu, silahkan teman-teman cek sendiri aja ya disini: https://github.com/maskodok/aplikasi-manajemen-tiket-metromini . Intinya saya sudah menjelaskan untuk apa file-file tersebut beserta fungsinya.

25. Finally, ini adalah hasil akhir dari Aplikasi Manajemen Tiket MetroMini Sederhana dengan PHP & MySQL. Berikut Screenshotnya, cekidot!

Manajemen Angkot

a. Tampilan list data angkot


b. Tampilan tambah data angkot


c. Tampilan ubah data angkot


Manajemen Tarif

a. Tampilan Setting Tarif


Manajemen User

a. Tampilan list data user


b. Tampilan tambah user


c. Tampilan ubah user


d. Tampilan ganti password user


Manejemen Tiket

a. Tampilan list data order tiket


b. Tampilan tambah data order tiket


c. Tampilan ubah data order tiket


d. Tampilan detail informasi order tiket






Oke, mungkin cukup sekian saja postingan saya kali ini. Intinya saya disini hanya menjelaskan bagaimana proses pembuatannya. Nah, jika teman-teman semua memang ingin tau lebih dalam lagi, kalian bisa mengobrol dengan saya melalui akun sosial media saya, di email, dan sebagainya.

Tidak lupa saya ucapkan terimakasih kepada semua rekan-rekan STMIK Eresha semester 6 yang mengambil mata kuliah ini. Kepada sahabat saya yang selalu menemani saya kapanpun dan dimanapun "M. Rian Pradana" dan juga "Achfas Faisal Kharis".

Download Source Code: https://github.com/maskodok/aplikasi-manajemen-tiket-metromini

Saya Akhiri, Salam Olahraga! dan Jangan lupa cari jodoh! \m/
read more →

Software Process (Rekayasa Perangkat Lunak)


Halo, Selamat sore para penggemar :D
Sudah sekian lama kita tidak berjumpa di blog keramat ini. Kali ini saya akan menulis tentang Software Process untuk tugas RPL (Rekayasa Perangkat Lunak) yang sudah lama sekali di informasikan oleh Pak Dosen tapi baru hari ini dikerjakan. *plaak* Oke langsung saja kita mulai!

Berikut ini merupakan beberapa pengertian software process yang saya kutip dari beberapa buku:

Pengertian Software Process
1. Menurut Reidar Conradi pada bukunya yang berjudul Software Process Technology: 7th European Workshop, Software Process adalah Proses perangkat lunak yang direpresentasikan sebagai sebuah proses program dan dapat mengeksekusi secara otomatis.

2. Menurut Ian Sommerville pada bukunya yang berjudul Software Engineering (9th Edition), Software Process adalah Pendekatan sistematis yang digunakan dalam rekayasa perangkat lunak serta merupakan sebuah aktifitas terurut yang menuju kepada produksi dari pembuatan produk rekayasa perangkat lunak.

3. Sedangkan menurut M Deploy pada tulisannya yang berjudul Software Engineering Process, Software process adalah serangkaian langkah-langkah yang terurut untuk membuat sebuah produk rekayasa perangkat lunak. Software process adalah suatu hirarki yang tiap langkah dapat memiliki sub-sub langkah dalam proses rekayasa perangkat lunak.

Terdapat 4 aktifitas umum yang mendasar pada semua proses rekayasa perangkat lunak, yaitu:

  • Software specification, yaitu pengguna dan perekayasa menentukan perangkat lunak yang akan dibuat dan dibatasi pada proyek tersebut.
  • Software development, dimana perangkat lunak tersebut dirancang dan diprogram.
  • Software validation, dimana perangkat lunak di cek apakah sudah memenuhi apa yang dibutuhkan oleh pengguna
  • Software evolution, dimana perangkat lunak diubah,diperbaiki untuk mengatasi perubahan pengguna dan mengikuti perkembangan jaman.

Dalam software process terdapat beberapa model, yaitu:

  • Waterfall, Model ini adalah model yang pertama kali muncul pada tahun 1970an diperkenalkan oleh Winston W. Royce. Model ini memisahkan fase spesifikasi dengan fase pengembangan.

    Ada 5 proses penting dalam model Waterfall:
    1. Requirement analysis and definition (analis kebutuhan)
    2. System and software design (perancangan sistem dan software)
    3. Implementation and unit testing (implementasi dan testing)
    4. Integration and system testing (integrasi dan pengujian sistem)
    5. Operation and maintenance (operasi dan perawatan)

  • RAD (Rapid Application Development), Rapid Application Development (RAD) adalah sebuah strategi pengembangan sistem yang menekankan kecepatan dalam pengembangan melalui keterlibatan pengguna dalam pembangunan secara cepat, iteratif, dan incremental dari suatu serangkaian prototype dari suatu sistem yang dapat berkembang menjadi suatu sistem akhir atau versi tertentu.

  • Prototyping Model, Pada model ini, user berperan aktif dalam pembuatan software. model ini digunakan apabila developer kesulitan dalam pengumpulan kebutuhan dan user juga tidak dapat menggambarkan software yang diinginkannya, atau dimana user sering menambah dan mengubah apa yang diinginkannya. 

Referensi
[1] Reidar ConradiSoftware Process Technology: 7th European Workshop
[2] Ian SommervilleSoftware Engineering (9th Edition)
[3] M DeploySoftware Engineering Process

Oke cukup sekian dulu :D
semoga tulisan ini dapat dipahami dan diterima oleh masyarakat dan kawan-kawan tercinta.

Sekian dan terima jodoh

read more →

RUP (The Rational Unified Process) - Tugas OOAD



Hai, apa kabar para penggemar :D

jumpa lagi bersama saya dalam edisi ngumpul tugas OOAD dengan topik yang berbeda kali ini adalah RUP (The Rational Unified Process). Tugas kali ini masih ada hubungannya dengan postingan saya sebelumnya yaitu Analisis dan Desain Menggunakan Object Oriented. Oke, langsung saja kita bahas apa sebenarnya RUP itu. check it out!

1. Menurut Philippe Kruchten pada buku yang berjudul The Rational Unified Process: An Introduction , The Rational Unified Process (RUP) merupakan Proses Rekayasa Perangkat Lunak (Software Engineering Process). RUP menyediakan pendekatan disiplin untuk menetapkan tugas dan tanggung jawab dalam pengembangan organisasi. Tujuannya adalah untuk memastikan produksi perangkat lunak berkualitas tinggi yang memenuhi kebutuhan pengguna dalam masalah prediksi dan anggaran. RUP juga merupakan kerangka proses yang dapat diadaptasi dan diperluas untuk memenuhi kebutuhan organisasi.

2. Menurut Per Kroll, Philippe Kruchten pada buku yang berjudul The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP , RUP adalah pendekatan pengembangan perangkat lunak yang berulang, arsitektur-sentris, dan use case-driven. RUP adalah proses rekayasa perangkat lunak yang jelas dan terstruktur dengan baik. Jelas siapa yang bertanggung jawab, bagaimana hal tersebut dilakukan, dan kapan harus melakukannya. RUP juga menyediakan struktur yang didefinisikan dengan baik untuk lifecycle dari proyek RUP itu sendiri.

RUP merupakan process produk yang menyediakan kerangka proses yang dapat disesuaikan untuk rekayasa perangkat lunak. Produk RUP mendukung kustomisasi proses dan authoring, dan berbagai macam proses, atau konfigurasi proses.

3. Sedangkan menurut kamus besar Wikipedia, RUP merupakan singkatan dari Rational Unified Process, RUP adalah suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak. RUP dimasukkan dalam produk IBM Rational Method Composer (RM C) yang memungkinkan untuk kustomisasi proses.

Dengan mengombinasikan pengalaman dari banyak perusahaan, dihasilkan enam praktik terbaik untuk rekayasa perangkat lunak modern:
  1. Pengembangan iteratif, dengan risiko sebagai pemicu iterasi primer
  2. Kelola persyaratan
  3. Terapkan arsitektur yang berbasis komponen
  4. Visualisasikan model perangkat lunak
  5. Secara kontinyu, verifikasi kualitas
  6. Kendalikan perubahan
(Sumber: http://id.wikipedia.org/wiki/RUP)

Jadi kesimpulannya, RUP memiliki banyak sekali arti dari berbagai sumber. Namun, pada intinya RUP (The Rational Unified Process) merupakan suatu proses rekayasa perangkat lunak yang mencakup keseluruhan siklus hidup pengembangan perangkat lunak itu sendiri.

RUP juga menyediakan cara pendekatan untuk membagi tugas dan tanggung jawab kepada kelompok atau organisasi yang akan menangani pengembangan perangkat lunak. Tujuannya adalah untuk memastikan menghasilkan suatu software yang berkualitas tinggi dan sesuai dengan kebutuhan pengguna serta tepat dihasilkan pada jadwal dan biaya yang telah disepakati.

RUP didasarkan pada suatu arsitektur proses yang padat, dan itu mengizinkan suatu organisasi pengembangan perangkat lunak untuk mengatur sesuai dengan kebutuhannya.

Tahapan-tahapan yang dilakukan RUP antara lain yaitu: tahapan insepsi, elaborasi, konstruksi, transisi.

Insepsi
  1. Merupakan tahap awal dari proses Rational Unified Process
  2. Menentukan ruang lingkup objek
  3. Membuat business case
  4. Menjawab pertanyaan apakah yang dikerjakan dapat menciptakaan good business sense sehingga proyek dapat dijalankan

Elaborasi
  1. Merupakan tahapan kedua dalam perancangan perangkat lunak.
  2. Menganalisa risiko dan berbagai persyaratan.
  3. Menetapkan batasan-batasan pada perancangan perangkat lunak.

Konstruksi
  1. Tahap ketiga dalam pengimplementasian perancangan perangkat lunak.
  2. Melakukan sederatan iterasi.
  3. Pada setiap iterasi juga melibatkan proses-proses seperti analisa, desain, implementasi, coding.

Transisi
  1. Tahapan terakhir untuk instalasi, deployment, dan sosialisasi perangkat lunak.
  2. Melaksanakan apa yang sudah dimodelkan menjadi suatu produk jadi.
  3. Dalam tahap ini dilakukan fase seperti:
  4. Performance testing
  5. Membuat dokumentasi tambahan.
  6. Membuat peluncuran produk ke komunitas pengguna.

Manfaat RUP
  1. Menyediakan petunjuk untuk pengefesian pengembangan dari kualitas perangkat lunak.
  2. Mengurangi risiko
  3. Menangkap dan menghasilkan latihan terbaik
  4. Mempromosilkan kultur dan visi umum.
  5. Menyediakan roadmap untuk penggunakan tools bantuan.
  6. Memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi lainnya. [Falitate Raute]
  7. Mengatur dan mengontrol semua proses dalam setiap tahapan yang ada sehingga suatu pengembangan perangkat lunak yang kompleks dapat dilakukan dengan aman sesuai dengan harapan pengguna [Manage Complexity]
  8. Perubahan yang teralokasi dan masalah dapat dengan mudah terdeteksi sehingga biaya pemeliharaan dapat ditekan sekecil mungkin [Lower Maintenece cost].
  9. Tentunya menghasilkan perangkat lunak yang berkualitas karena telah teruji

Referensi
1. Philippe Kruchten, The Rational Unified Process: An Introduction, Addison-Wesley Professional, May 2004, 75 Arlington Street, Suite 300. Boston, MA 02 1 16

2. Per Kroll, Philippe KruchtenThe Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, Addison-Wesley Professional, July 2003, 75 Arlington Street, Suite 300. Boston, MA 02 1 16

3. Wikipedia, RUP, http://id.wikipedia.org/wiki/RUP

Oke cukup sekian dulu :D
semoga tulisan ini dapat dipahami dan diterima oleh masyarakat dan kawan-kawan tercinta.
Sekian dan terima kasih.
read more →

Analisis dan Desain Menggunakan Objek Oriented


Hallo semua :D ada revisian sedikit dari pak dosen, katanya tulisannya suruh dikasih sumbernya dengan jelas dan akurat. Dan akhirnya, tulisan yang sebelumnya harus di hapus semua lalu di ketik ulang karena ya memang harus di revisi lagi supaya memenuhi standar pengumpulan tugas.

Oke baiklah, berikut ini saya berikan beberapa penjelasan tentang apa itu OOAD (Object Oriented Analysis and Design). selamat membaca saudara-saudara sekalian :D

1. Menurut D. H. Stamatis pada buku yang berjudul Six Sigma and Beyond: Design for Six Sigma, Volume 6 , Pada dasarnya, Metode OOAD ini merupakan sebuah framework (kerangka) yang digunakan untuk memahami, mengembangkan, mengorganisir, dan mengelola proyek. Tentunya proyek-proyek yang berurusan dengan aplikasi atau perangkat lunak

2. Menurut Brian Sam-Bodden dan Christopher M. Judd pada buku yang berjudul Enterprise Java Development on a Budget: Leveraging Java Open Source , OOAD adalah kombinasi dari mekanisme pemecahan masalah yang memfasilitasi dua tugas primordial pada rekayasa perangkat lunak. Jadi dengan adanya konsep OOAD ini kita dapat merumuskan solusi untuk masalah-masalah pada suatu proyek.

3. Sedangkan menurut kamus besar dunia maya Wikipedia, OOAD merupakan pendekatan teknis yang populer untuk menganalisis, merancang aplikasi, atau sistem dengan menerapkan paradigma berorientasi objek dan pemodelan visual sepanjang siklus pengembangan perangkat lunak untuk menghasilkan suatu aplikasi yang lebih baik. (http://en.wikipedia.org/wiki/Object-oriented_analysis_and_design)

4. Yang terakhir menurut Stefan Kluth penulis modul Introduction to OOAD , OOAD merupakan metode untuk mendesain dan membangun program-program besar dalam jangka waktu yang cukup panjang, metode tersebut antara lain mencakup: Proses pembuatan, pemeliharaan dan modifikasi, pemudahan pemodelan menggunakan OO (Object Oriented) yang memiliki objek-objek dan relasi.

Jadi kesimpulannya, OOAD merupakan sebuah metode atau kerangka atau konsep yang digunakan untuk membangun sebuah program dengan menggunakan paradigma beriorientasi objek, sehingga pembuatan sebuah program dapat lebih terpelihara, terorganisir, dan dapat dikelola serta dikembangkan. Karena OOAD menggunakan paradigma berorientasi objek, maka pengelolaan source code akan sangat terorganisir dengan baik.

Kenapa Harus OOAD ?
1. Karena melihat segala hal sebagai sebuah objek
2. Karena objek sifatnya independen (berdiri sendiri)
3. Karena memudahkan kita dalam pemanfaatan ulang pada source code yang kita buat
4. Karena lebih mudah disesuaikan dengan perubahan

Berikut ini beberapa kutipan yang saya dapat dari tulisannya bapak Hendra Divayana pada tulisannya yang berjudul Konsep OOAD.

Karakteristik Objek

1. Objek
Objek merupakan benda yang ada disekitar kita, namun objek bisa juga disimpulkan sebagai suatu kejadian, tempat, manusia, hewan, atau kendaraan.

Contoh objek: Objek Mobil dan Objek Mahasiswa

2. Kelas
Kelas merupakan himpunan objek (Object Groupings) yang terbagi kedalam atribut, operasi, metode, dan relasi. Kelas bisa kita gambarkan sebagai sebuah 'cetakan' atau 'template' yang dapat membuat objek. jadi intinya Kelas ini adalah cetakannya. Contohnya: Manusia. Kelas manusia dapat membuat objek Mahasiswa, Ilmuan, Dokter, Guru, Dosen, atau Rektor. Kelas Kendaraan dapat membuat objek Mobil, Motor, Sepeda, Kapal Laut, Helikopter, atau Pesawat tempur.

Metodologi Pengembangan Sistem Berorientasi Objek
Metodologi ini mempunya tiga karakteristik, antara lain:

1. Encapsulation
Enkapsulasi merupakan sebuah metode yang dapat mengemas data atau fungsi-fungsi dalam suatu objek. Jadi Fungsi-fungsi yang ada diluar objek tidak dapat diakses karena sudah di bungkus oleh metode enkapsulasi ini.

2. Inheritance
Inheritance adalah metode yang digunakan untuk mewariskan sifat dari objek induk (Parent) kepada turunannya (Child). Jadi dengan metode ini, anak dari objek dapat mewarisi sifat orang tua objek tersebut. Lebih jelasnya saya berikan contoh: Misalkan saya punya Objek Kucing, kucing tersebut memiliki kuping yang panjang, kumis, dan suara yang unik seperti 'Meong'. Kemudian saya buat Objek baru dengan nama Anak Kucing, jika saya gunakan teknik Inheritance ini pada Objek Anak Kucing yang akan mewarisi Objek Kucing, maka Objek Anak kucing tentunya dapat memiliki Kuping yang panjang, memiliki kumis, dan memiliki suara yang sama dengan parentnya yaitu 'Meong'. Jadi Atribut dan Metode Objek Induk dapat diwarisi kepada Anak Objek.

3. Polymorphism
Polimorfisme adalah konsep yang menyatakan bahwa sesuatu yang sama dapat memiliki bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.

Struktur dan Hirarki Kelas

1. Atribut
Atribut merupakan sebuah data yang dapat memberikan informasi mengenai kelas atau objek dimana atribut tersebut berada.

Contoh: Saya memiliki Kelas dengan nama Mahasiswa. Kemudian saya akan menentukan atributnya yaitu: NIM, Nama, Tempat Lahir, Tanggal Lahir, Umur, Agama, dan Fakultas.

2. Metode
Metode merupakan sebuah prosedur atau fungsi yang terdapat didalam Kelas. Metode merupakan subprogram yang tergabung dalam objek bersama-sama dengan atribut. Metode juga digunakan untuk pengaksesan terhadap data yang ada dalam suatu objek.

Contoh Metode dalam Kelas Artikel: 
1. Tampilkan Artikel
2. Hapus Artikel
3. Ubah Artikel
4. Cari Artikel

Referensi
1. D. H. Stamatis, Six Sigma and Beyond: Design for Six Sigma, Volume 6 , CRC Press, 13 Nov 2002, Boca Raton, Florida 33431.

2. Brian Sam-Bodden dan Christopher M. Judd, Enterprise Java Development on a Budget: Leveraging Java Open Source , Apress, 28 Mar 2004, New York, NY 10013.

3. WikipediaObject-oriented analysis and design http://en.wikipedia.org/wiki/Object-oriented_analysis_and_design

4. Stefan Kluth, Introduction to OOADhttps://www.mppmu.mpg.de/english/kluth_oo_intro.pdf

5. Hendra Divayana, Konsep OOAD. http://dewa-hendra.blogspot.com/2010/04/i.html

Oke cukup sekian dulu :D

semoga tulisan ini dapat dipahami dan diterima oleh masyarakat dan kawan-kawan tercinta.

Sekian dan terima kasih.
read more →