Kompetensi
mandefinisikan masalah dan menganalisis kebutuhan sistem
Studi Kasus
Berikut ini adalah contoh dari sebuah studi kasus yang menagani Aplikasi pada sebuah ATM
dengan skenario sbb:
Sebuah bank mengoperasikan ATM dan mengelola banyak tabungan, setiap nasabah
memiliki setidaknya satu rekening tabungan pada satu bank tertentu. Setiap tabungan dapat
diakses melalui kartu debit. Proses utama sistem ATM berkomunikasi dengan pusat
komputer dan didesain untuk menangani beberapa transaksi. Setiap transaksi menunjuk
sebuah tabungan tertentu. Suatu transaksi akan menghasilkan satu dari dua hal berikut:
transaksi diterima atau mengeluarkan pesan
penolakan transaksi".
Untuk melakukan sebuah transaksi akan melalui dua tahap: pengecekan tabungan dan
pemroses transaksi. Proses pengecekan tabungan akan menetapkan persetujuan untuk
proses transaksi. Jika persetujuan ditolak, ATM akan mengeluarkan pesan penolakan,
namun jika diterima, transaksi akan diproses de ngan menggunakan nomor rekening
tabungan dan ATM membaca dari kartu debit.
Pengecekan tabungan dilakukan bersamaan pada saat ATM memvalidasi kartu debit dari
bank yang bersangkutan. Jika kartu valid, password akan dicek dengan nasabah.
Kompetensi
Merancang sistem berorientasi objek untuk penyelasaian kasus
Tujuan praktik
1. Mahasiswa dapat menentukan candidate class dari skenario yang telah ada.
Teori
Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasanbatasan dan
pengertian yang tepat. Object bisa mewakili sesuatu yang nyata seperti komputer, mobil atau dapat
berupa konsep seperti proses kimia, transaksi bank, permintaan pembelian, dll. Setiap object dalam
sistem memiliki tiga karakteristik yaitu State (status), Behaviour (sifat) dan Indentity (identitas).
TUGAS :
1. Gambarkan Kelas diagram dari kasus yang anda buat pada parktik 1
PRAKTIK 3
PERANCANGAN SISTEM
Kompetensi
Merancang sistem berorientasi objek untuk penyelasaian kasus
Tujuan praktik
Mahasiswa dapat menggambarkan interaction diagram baik dengan sequence atau collaboration
diagram.
Teori
Interaction Diagram
Sequence Diagram menggambarkan interaksi antara sejumlah object dalam urutan waktu.
Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antar
object yang terjadi pada titik tertentu dalam eksekusi sistem.
Contoh :
Dalam diagram sequence, setiap object hanya memiliki garis yang digambarkan garis putus-
putus ke bawah. Pesan antar object digambarkan dengan anak panah dari object yang
mengirimkan pesan ke object yang menerima pesan.
Gambar 5. Sequence Diagram for Authenticate User’s ATM
CollaborationDiagram
Collaboration Diagram merupakan cara alternatif untuk menggambarkan skenario dari
sistem. Diagram ini menggambarkan interaksi object yang diatur object sekelilingnya dan
hubungan antara setiap object dengan object yang lainnya.
Collaboration diagram berisi :
• Object yang digambarkan dengan segiempat.
• Hubungan antara object yang digambarkan dengan garis penghubung.
• Pesan yang digambarkan dengan teks dan panah dari object yang mengirim pesan
ke penerima pesan.
Gambar 7. Collaboration Diagram Use Case Authenticate User
Contoh Perancangan
Requirement Analysis
Analisis Entry Data Dosen
Analysis Comunication diagram untuk Entry Data Dosen
2.1:addProsess
2:createDosen()
1:index
Administrator DosenUI
DBorangC
(from Actors) (from Use Case View)
2.1.1:addDosen($dosen,$user)
Dosen
index
createDosen
addProses
addDosen
TUGAS :
1. Gambarkan sequence diagram atau collaboratioun Diagram dari soal 1
PRAKTIK 4
PERANCANGAN SISTEM
Kompetensi
Merancang sistem berorientasi objek untuk penyelasaian kasus
Tujuan praktik
Membuat perancangan antarmuka sistem
Teori
User interface yang Anda desain dapat memiliki dampak yang signifikan terhadap
keberhasilan perusahaan Anda, terutama di lingkungan yang kompetitif untuk sistem e-
commerce di Internet.
Perubahan yang paling mencolok antara dua desain adalah penggunaan warna. Jika Anda
menggunakan warna dalam aplikasi Anda, Anda perlu memastikan bahwa layar Anda masih
dapat dibaca dengan mengikuti aturan kontras: Gunakan teks gelap di latar belakang cahaya
dan teks terang pada latar belakang gelap.
Penambahan Mahasiswa
Gambar 8. Perancangan Antarmuka
Tugas :
1. Buat Rancangan antarmuka untuk penyelesaian kasus projek anda
Praktik 5, 6
Implemantasi Kelas Entitas
Tujuan :
Mengimplemtasi kelas entitas berdasarkan rancangan
Teori
Dari Kelas diagram yang telah dibuat, diimplemtasikan dalam bahasa pemrograman berorientasi
objek
Tugas Praktik Pertemuan 5. Implemantasi Kelas Entitas
Contoh :
Kelas Mahasiswa
class Mahasiswa {
var $nim='';
var $namaMahasiswa='';
var $minat='';
var $pembimbing='';
function setMahasiswa($nim_,$nama_,$minat_,$pembimbing_) {
$this->$nim=$nim_;
$this->$namaMahasiswa=$nama_;
$this->$minat=$minat_;
$this->$pembimbing=$pembimbing_;
}
...
function getPembimbing() {
return $this->$pembimbing;
}
}
?>
Kelas Dosen
<?php
<?php
class Dosen extends Model
{
var $nip;
var $namaDosen;
function Dosen(){
parent::Model();
}
function addDosen($dosen,$user)
{
$this->db->insert('dosen', $dosen);
$this->db->insert('user', $user);
}
function getDosen()
{
$sql="SELECT * FROM Dosen";
return $this->db->query($sql);
}
function getNama($nip)
{
$sql="SELECT namaDosen FROM dosen WHERE nip='$nip'";
return $this->db->query($sql);
}
}
?>
<?php
class Jadwal extends Model{
var $idJadwal='';
var $idTA='';
var $Tanggal='';
var $Ruangan='';
var $Ketua='';
var $Pembimbing='';
var $Anggota1='';
var $Anggota2='';
function setJadwal($idJadwal_,$idTA_,$Tanggal_,$Ruangan_,$Ketua_,
$Pembimbing_,$Anggota1_,$Anggota2_){
$this->$idJadwal=$idJadwal_;
$this->$idTA=$idTA_;
$this->$Tanggal=$Tanggal_;
$this->$Ruangan=$Ruangan_;
$this->$Ketua=$Ketua_;
$this->$Pembimbing=$Pembimbing_;
$this->$Anggota1=$Anggota1_;
$this->$Anggota2=$Anggota2_;
}
...
}
?>
function setMahasiswa($nim_,$nama_,$minat_,$pembimbing_)
{
$this->$nim=$nim_;
$this->$namaMahasiswa=$nama_;
$this->$minat=$minat_;
$this->$pembimbing=$pembimbing_;
}
function getMahasiswa()
{
$mahasiswa = array('nim' => $this->$nim,
'namaMahasiswa' => $this->$namaMahasiswa,
'minat' => $this->$minat,
'pembimbing' => $this->$pembimbing
);
return $mahasiswa;
}
function addMahasiswa($mahasiswa){
$this->db->insert('mahasiswa', $mahasiswa);
}
function getPembimbing()
{
return $this->$pembimbing;
}
}
?>
Tugas :
Implementasikan kelas entitas pada projek anda dengan menggunakan bahasa pemrograman
berorientasi objek
PRAKTIK 7,8
Implementasi Kelas Boundary
TUJUAN
Mengimplemtasi kelas boundari/view berdasarkan rancangan
TEORI
Kelas boundary/view (tampilan) berisi elemen antar muka pengguna seperti teks, input form.
Membuat implementasi kelas boundary, dari kelas mahasiswa.
<body>
<form name="form1" method="post" action="<?php echo $form_action; ?>">
<p>Input Data Mahasiswa </p>
<table width="256" border="0">
<tr>
<td width="39">NIM</td>
<td width="3">:</td>
<td width="192"><input name="txtNIM" type="text" id="txtNIM"></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input name="txtNama" type="text" id="txtNama" maxlength="30"></td>
</tr>
<tr>
<td>Minat</td>
<td>:</td>
<td><select name="cbMinat" id="cbMinat">
<option value="Ilmu Komputer">Ilmu Komputer</option>
<option value="Komputasi">Komputasi</option>
<option value="Cerdas Terapan">Cerdas Terapan</option>
</select></td>
</tr>
<tr>
<td>Dosen</td>
<td>:</td>
<td><select name="cbPembimbing" id="cbPembimbing">
<?php
foreach($allDosen as $dosen)
{
echo "<option value='$dosen->nip'>$dosen->namaDosen</option>";
}
?>
</select></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Simpan">
</p>
</form>
</body>
</html>
TUGAS
Buat implementasi untuk kelas boundary dari projek yang anda buat dengan menggunakan
bahasa pemrograman berorientasi objek.
PRAKTIK 9, 10
Implementasi Kelas Kontrol
TUJUAN
Mengimplemtasi kelas control berdasarkan rancangan
TEORI
controller mengatur komunikasi antar model dan view.
Membuat implentasi kelas Controler
<?php
class MahasiswaC extends Controller{
function MahasiswaC(){
parent::Controller();
$this->load->model('Mahasiswa', '', TRUE);
$this->load->model('Dosen', '', TRUE);
}
function index(){
$this->createMahasiswa();
function createMahasiswa(){
$data['main_view'] = 'MahasiswaUI';
$data['form_action'] = site_url('MahasiswaC/addProcess');
$data['allDosen']=$this->Dosen->getDosen()->result();
$this->load->view('template', $data);
}
function addProcess(){
$mahasiswa = array('nim' => $this->input->post('txtNIM'),
'namaMahasiswa' => $this->input->post('txtNama'),
'minat' => $this->input->post('cbMinat'),
'pembimbing' => $this->input->post('cbPembimbing')
);
$this->Mahasiswa->addMahasiswa($mahasiswa);
redirect('MahasiswaC/createMahasiswa');
}
}
?>
Contoh Kelas Controler dari kelas dosen
<?php
class DosenC extends Controller{
function DosenC(){
parent::Controller();
$this->load->model('Dosen', '', TRUE);
}
function index(){
$this->createDosen();
function createDosen(){
$data['main_view'] = 'dosenUI';
$data['form_action'] = site_url('DosenC/addProcess');
$this->load->view('template', $data);
}
function addProcess(){
if($this->input->post('txtPassword1')==$this->input->post('txtPassword2'))
{
//$this->Dosen->setDosen($this->input->post('txtNip'),$this->input->post('txtNama'));
$dosen = array('nip' => $this->input->post('txtNip'),
'namaDosen' => $this->input->post('txtNama')
);
$this->Dosen->addDosen($dosen,$user);
redirect('DosenC/createDosen');
}
}
?>
TUGAS :
Implementasikan kelas kontroler dari projek yang anda buat
PRAKTIK 11
Membuat Dokumentasi
TUJUAN
Membuat dokumentasi sistem
Tugas :
Buat laporan dokumentasi dari project yang anda buat. Dokumentasi memuat
1. Topik permasalahan
4. Class diagram
7. Implementasi program