O L E H : A L D Y S E F A N R E Z A N A L D Y
P E M B I M B I N G :
D r . I r . S i t i R o c h i m a h , M . T . I r . S u h a d i L i l i
Perancangan dan Implementasi Editor Model Data Konseptual dan
Model Data Fisik
Road Map
Pendahuluan Dasar Teori
A D I Uji Coba Kesimpulan
• Tujuan
• Latar Belakang
• Rumusan Masalah
• CDM dan PDM
• Round Trip Engineering
• .NET Framework
• Design Pattern
• Library Undo Easy
• Analisis
• Desain
• Implementasi
• Tujuan
• Metode
• Hasil
PENDAHULUAN
Tujuan
Rumusan
Masalah
TUJUAN
 Merancang dan mengimplementasikan user
interface dan manipulasi model data sebuah CASE Tool yang mendukung pemodelan dengan round-trip engineering atau koversi bolak balik model data
konseptual dan model data fisik.
RUMUSAN MASALAH
User Interface yang user friendly
Editor dengan round-trip engineering
mekanisme manipulasi object yang mudah.
Bagaimana pengecekan warning dan error Implementasi Undo Redo.
DASAR TEORI
CDM dan PDM
Round-Trip Engineering .NET Framework
Design Pattern
Library Undo Easy
CDM dan PDM
CDM
 Conceptual Data Model (CDM), merupakan sebuah pemodelan yang menyediakan konsep dengan
pendekatan pemahaman pengguna. CDM
menyediakan abstraksi tingkat tinggi (high level) dari entitas yang sebenarnya di alam ini, sehingga lebih mudah dipahami oleh user
 e.g. ER Diagram dan EER Diagram
PDM
 Physical Data Model (PDM) adalah model data yang berupa konsep yang mendeskripsikan basis data
pada tingkat rendah (low level) yang lebih
mendetail tentang bagaimana data disimpan pada
perangkat computer.
Round-Trip Engineering (1)
 Round-trip engineering (RTE) adalah sebuah
fungsionalitas dari software development tools yang melakukan sinkronisasi pada dua atau lebih
software artifact, seperti, source code, models,
configuration files, dan dokumen yang lain
Round-Trip Engineering (2)
 Jenis RTE
RTE Instantaneous (Realtime Update)
RTE On-Demand (Update depend on Demand User)
.NET Framework
 Microsoft .NET Framework (dibaca Microsoft Dot Net Framework) adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft
Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versi
Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk
memenuhi kebutuhan-kebutuhan umum suatu program baru, dan mengatur eksekusi program- program yang ditulis secara khusus untuk
framework ini.
.NET Framework (2)
Version Version Number
Release Date Visual Studio Default in Windows 1.0 1.0.3705.0 2002-02-13 Visual
Studio .NET 1.1 1.1.4322.573 2003-04-24 Visual Studio
.NET 2003
Windows Server 2003 2.0 2.0.50727.42 2005-11-07 Visual Studio
2005
Windows
Server 2003 R2
3.0 3.0.4506.30 2006-11-06 Windows Vista,
Windows Server 2008 3.5 3.5.21022.8 2007-11-19 Visual Studio
2008
Windows 7, Windows
Server 2008 R2 4.0 4.0.30319.1 2010-04-12 Visual Studio
2010
User Control (1)
Dalam pemorgraman framework .NET diperbolehkan untuk membuat control tersendiri menggungkan
elemen-elemen bawaan .NET.
Custom Control adalah tema kunci dalam
pengembangan .NET. Mereka dapat membantu style
pemrograman dengan meningkatkan enkapsulasi,
penyederhanaan model pemrograman, dan membuat
antarmuka pengguna yang lebih "pluggable" (yaitu,
sehingga lebih mudah untuk swap keluar satu kontrol
dan menggantinya dengan yang sama sekali berbeda
tanpa menulis ulang kode formulir Anda).
User Control (2)
 User Control adalah tipe sederhana control. User Control diturunkan dari class
System.Windows.Forms.UserControl, dan mengikuti model komposisi. Biasanya, kontrol
pengguna menggabungkan lebih dari satu kontrol logis unit (seperti kelompok kotak teks untuk
memasukkan informasi alamat).
DESIGN PATTERN
 Sebuah nama pola desain sistematis, yang
memotivasi, dan menjelaskan sebuah desain umum yang membahas masalah desain berulang dalam
sistem berorientasi objek.
 Diantaranya:
Strategy Pattern
Composite Pattern
State Pattern
Mediator Pattern
Dll.
Library Undo Easy (1)
 Library Undo Easy merupakan sebuah library yang merangkum semua kompleksitas undo dan redo ke dalam sebuah class library yang komprehensif
Public void Register(
DoPointer doMethod, ItsData doValue,
UndoPointer undoMethod, ItsData undoValue,
RedoPointer redoMethod, ItsData redoValue
);
A . D . I Analisis
Desain
Implementasi
ANALISIS (1)
No. Fitur Lama Baru
1 Add, manipulasi, dan delete Object Ada Ada
2 Show Object List Ada Ada
3 Zoom in / out Tidak ada Ada
4 Checking pada Object dalam diagram canvas
Tidak ada Ada
5 Checking detail per-object Tidak ada Ada
6 Undo Redo Command Tidak Ada Ada
7 Menambahkan Object drawing dari objct model yang telah ada
Ada, dengan mekanisme create
Drawing baru.
Ada, dengan mekanisme check
Available Link.
8 Mekanisme manipulasi Form Properties Pop up dan Form
Perbandingan Fitur-Fitur Lama dan Baru
ANALISIS (2)
 Use Case
Add ObjectManipulate Object
Delete Object
Zoom In/Out Diagram
Undo State
Redo State
Show Warning/ Error Detail Actor
System
Show Diagram Warning / Error
Desain (1)
Desain (2)
 Project Browser
Desain (3)
 Warning Form
Desain (4)
 Properties From
Desain (5)
 Pop Up
Arsitektur
View
CASEToolMainUserInterface<<layer>>
CDV
<<layer>>
PDV
<<layer>>
Model
CDM
<<layer>>
PDM
<<layer>>
DataCLM
<<layer>>
Mechanism
<<layer>>
Implementasi (1)
 CDM
Implementasi (2)
 PDM
Add and Delete Object
Manipulasi Object
Zoom In/Out Diagram
public void Draw(Graphics g) {
foreach (CDMDrawing d in _drawings) {
d.ScaleDrawing = (float)_pageScale / 100;
if (d.IsShow) {
d.Draw(g);
}
}
Undo Redo
Properties Type Method Undo Redo DrawPosition Point UpdateDrawPosition
DrawHeight Float UpdateDrawHeight
DrawWidth Float UpdatedrawWidth
Properties Type Method Undo Redo Drawings List<CDMObject> UpdateListDrawing
Properties Type Method Undo Redo
DisplayName String UpdateDisplayName
CodeName String UpdateCodeName
Comment String UpdateComment
Note String UpdateNote
Attributes(Entity )
List<DataItem> UpdateAttributes Attributes(Associ
ation)
List<DataItem> UpdateAttributes Attributes(Table) List<DataItem> UpdateAttributes Cardinality(Relat
ionship)
Cardinality UpdateCardinality Participation(Rel
ationship)
Participation UpdateParticipation
DominantRole Role UpdateDominantRole
public void UpdateDrawPosition
(UndoEngine undoEngine, Point oldPoint, Point newPoint)
{
undoEngine.InsertBookmark();
undoEngine.Register(
new DoPointer(UpdateDrawPosition), new ItsData(newPoint),
new UndoPointer(UpdateDrawPosition), new ItsData(oldPoint),
new RedoPointer(UpdateDrawPosition), new ItsData(newPoint)
);
}
public void UpdateDrawPosition(ItsData value)
{
DrawPosition = (Point)value[0];
}
Show Warning Error
Show Warning Error
UJI COBA Tujuan
Metode
Hasil dan Analisis
TUJUAN
 Kemudahan dan kenyamanan pengguna
menggunakan Editor untuk melakukan desain basis data.
 Mengetahui fitur-fitur yang telah direncanakan dapat berjalan dengan baik.
 Mengetahui keinginan pengguna tentang user
interface case tool dan komentar mereka terhadap
CASE Tool ini.
Metode
 Subjective Testing
Beberapa Orang Penguji (Kalangan IT)
Melakukan desain Diagram dengan Studi Kasus
Mengisi form penilaian aspek-aspek setelah melakukan pengujian
Dilakukan Analisis dari hasil pengujian
Hasil dan Analisis
No. Aspek Penilaian Rata-Rata
1 Membuat diagram dari CDM dan PDM 3,2
2 Mengedit diagram yang telah ada, dari CDM dan PDM 2,62
3 Visualisasi 3,93
4 Reliability 2,37
No. Fitur-Fitur Perlu Dilakukan Perbaikan
1 Panah relationship di PDM jika entitas dipindah jadi skew dan tidak proporsional 2 Untuk penambahan relationship agak susah
3 Editor relationship seharusnya hanya ditampilkan ketika garis diklik dua kali (untuk CDM & PDM) 4 Fungsi untuk edit nama entitas secara cepat terasa sulit. Lebih mudah bila klik 2 kali
5 Fungsi load dagram masih belum berfungsi
6 Untuk fungsi undo redo, disable ketika tidak ada undo / redo 7 Relasi Many to many
8 Add/edit table/relationship ditambah tombol OK 9 Tambah menu generate pdm
KESIMPULAN (1)
1
• Perancangan user Interface Editor, berkaitan dengan tampilan, command, dan response digunakan dan diimplementasikan untuk mempermudah pengguna melakukan desain dan editing object di dalamnya.
2
• Pop up properties digunakan untuk mempermudah pengguna melakukan manipulasi object pada diagram. Selain itu dengan menggunakan event yang tepat (one click) dapat
meningkatkan kecepatan proses desain data model.
3
• Mekanisme Round-trip engineering pada aplikasi ini
ditangani oleh pattern observer pada aplikasi ini. Object-
object model yang telah di manipulasi pada editor akan selalu di update dengan menggunakan observer pattern pada level data modelnya.
KESIMPULAN(2)
4
• Aplikasi editor ini dirancang dengan memperhatikan kesalahan(error) dan warning dalam melakukan
desainnya. Ini untuk memberikan pesan kepada pengguna tentang diagramnya sedini mungkin, karena konsep yang dilakukan adalah round-trip engineering secara realtime.
Pengecekan ini dilakukan setiap ada perubahan pada
diagram, yaitu penambahan, edit, dan penghapusan object.