PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM...

18
PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM

Transcript of PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM...

Page 1: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

PANDUAN PRAKTIK

PEMROGRAMAN BERORIENTASI OBJEK

PROGRAM STUSI SISTEM INFORMASI

STMIK AKAKOM

Page 2: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK

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.

Use Case Diagram Adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi

diantaranya yang memperkenalkan suatu sistem.

Gambar 1. Use Case Diagram

Page 3: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

TUGAS

1. Buat Kelompok

2. Menentukan topik permasalahan

3. Membuat use case diagram

Page 4: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

PRAKTIK 2 Perancangan Sistem

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).

Gambar 2. Kelas DIagram

Candidate Class

Gambar 3. Candidate Class

Page 5: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

Gambar 4. Kelas Diagram Sistem ATM

TUGAS :

1. Gambarkan Kelas diagram dari kasus yang anda buat pada parktik 1

Page 6: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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 :

Gambar 4. Penamaan Object

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.

Page 7: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

Gambar 5. Sequence Diagram for Authenticate User’s ATM

Gambar 6. Sequence Diagram for Withdrawal Transaction in 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.

Page 8: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

Gambar 7. Collaboration Diagram Use Case Authenticate User

Contoh Perancangan

Requirement Analysis Analisis Entry Data Dosen Analysis Comunication diagram untuk Entry Data Dosen

n Analysis Class Diagram untuk Entry Data Dosen

Sequence diagram untuk Entry Data Dosen

DosenUI (from Use Case View)

2:createDosen()

1:index

2.1.1:addDosen($dosen,$user)

Administrator (from Actors)

DosenUI (from Use Case View) DBorangC

Dosen

2.1:addProsess

Page 9: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

TUGAS :

1. Gambarkan sequence diagram atau collaboratioun Diagram dari soal 1

: Administrator : Administrator : DosenUI : DosenUI : DBorangC : DBorangC : Dosen : Dosen

index

addProses

createDosen

addDosen

Page 10: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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.

Contoh perancangan Antarmuka

Pemanbahan Data Dosen

Penambahan Mahasiswa

Page 11: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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 {

Page 12: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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_; } ... } ?> Membuat kelas model/entitas dari kelas mahasiswa <?php class Mahasiswa extends Model{ var $nim=''; var $namaMahasiswa=''; var $minat=''; var $pembimbing='';

Page 13: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

function Mahasiswa(){ parent::Model(); } 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

Page 14: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Untitled Document</title>

</head>

<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>

Page 15: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

<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.

Page 16: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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'); } } ?>

Page 17: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

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') );

$user = array('UserID' => $this->input->post('txtNip'), 'Password' => md5($this->input->post('txtPassword1')), 'HakAkses' => '2' ); $this->Dosen->addDosen($dosen,$user); redirect('DosenC/createDosen'); } } } ?> TUGAS : Implementasikan kelas kontroler dari projek yang anda buat

Page 18: PANDUAN PRAKTIK PEMROGRAMAN BERORIENTASI OBJEK...PEMROGRAMAN BERORIENTASI OBJEK PROGRAM STUSI SISTEM INFORMASI STMIK AKAKOM PRAKTIK 1 PERMOGRAMAN BERORIENTASI OBJEK Kompetensi mandefinisikan

PRAKTIK 11 Membuat Dokumentasi

TUJUAN

Membuat dokumentasi sistem

Tugas :

Buat laporan dokumentasi dari project yang anda buat. Dokumentasi memuat

1. Topik permasalahan

2. Daftar fungsional system

3. Use case diagram

4. Class diagram

5. Sequence diagram/ collaboration diagram

6. Rancangan antar muka

7. Implementasi program