SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Konsep Baru Pemodelan Database dengan Anchor Modeling Bowo Prasetyo Teknik Pemodelan Database Agile untuk Struktur dan Konten yang Berubah Seiring Waktu 8 Desember 2011 http://www.scribd.com/prazjp   http://www.slideshare.net/bowoprasetyo
Anchor Modeling ,[object Object]
Berbasis pada empat konstruksi permodelan:  anchor ,  attribute ,  tie  dan  knot .
Hasilnya dapat diterjemahkan ke desain relational database, di mana hampir semua tabelnya akan berada pada bentuk  sixth normal form  (6NF).
Kelebihan dan  Kekurangan ,[object Object]
Menghindari nilai  null .
Informasi bebas dari  redundancy .
Isu performa akibat join berlebih. ,[object Object]
Belum disupport oleh MySQL.
Anchor ,[object Object]
Dilambangkan dengan bujur sangkar penuh.
Konvensi penamaan:  AD_AnchorDescription ,[object Object]
AnchorDescription : deskripsi dengan huruf besar di depan setiap kata.
Attribute ,[object Object]
Dilambangkan dengan lingkaran kosong.
Perubahan informasi atribut dapat dibuatkan sejarah, dilambangkan dengan  outline  ganda.
Konvensi penamaan:  AD_ATD_AnchorDescription_AttributeDescription ,[object Object]
AttributeDescription : deskripsi dengan huruf besar di depan setiap kata.
Tie ,[object Object]
Dilambangkan dengan belah ketupat penuh.
Perubahan informasi  tie  dapat dibuatkan sejarah, dilambangkan dengan  outline  ganda.
Konvensi penamaan:  A1_role1_A2_role2 ,[object Object]
role1/2 : peran  anchor  1/2, kata pertama adalah kata kerja dengan huruf kecil
Knot ,[object Object]
Dilambangkan dengan bujur sangkar kosong.
Konvensi penamaan:  KND_KnotDescription ,[object Object]
KnotDescription : deskripsi dengan huruf besar di depan setiap kata
Online Resources ,[object Object],http://www.anchormodeling.com/   ,[object Object],http://www.anchormodeling.com/?page_id=186   ,[object Object],http://www.anchormodeling.com/modeler/
Contoh Aplikasi Java EE HelloEnterprise
Peringatan ,[object Object]
Database Pengguna ,[object Object]
Anchor Model ,[object Object]
Satu  attribute :  US_PWD_User_Password
Satu  tie :  US_belongs_GR_to
Entity Relationship Model ,[object Object]
Realm JDBC GlassFish ,[object Object],*) Lihat tutorial “Mengamankan Aplikasi Java EE 6 – Mengamankan Komponen Web dengan Realm Keamanan JDBC dan Otentikasi Berbasis Form”
Penyesuaian Database ,[object Object]
Password ->  US_PWD_User_Password ,[object Object],[object Object]

Contenu connexe

Similaire à AnchorModeling

Koneksi database menggunakan jsp
Koneksi database menggunakan jspKoneksi database menggunakan jsp
Koneksi database menggunakan jspYuna Argadewi
 
Koneksi database menggunakan jsp
Koneksi database menggunakan jspKoneksi database menggunakan jsp
Koneksi database menggunakan jspYuna Argadewi
 
05 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 705 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 7pinnsyl
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di androidInto Setiawan
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQLHari Setiaji
 
Tugas 2 0916 jansen_1512510247
Tugas 2 0916 jansen_1512510247Tugas 2 0916 jansen_1512510247
Tugas 2 0916 jansen_1512510247Jansen Wijaya
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASERäjù GùÑáwàn
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 
Jeni Web Programming Bab 5 Sql Dan Jdbc
Jeni Web Programming Bab 5 Sql Dan JdbcJeni Web Programming Bab 5 Sql Dan Jdbc
Jeni Web Programming Bab 5 Sql Dan JdbcIndividual Consultants
 
Form validation dengan code igniter
Form validation dengan code igniterForm validation dengan code igniter
Form validation dengan code igniterEidelbert Sinaga
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Welly Rosadi, Mochamad
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleHari Setiaji
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleLaboratorium Sirkel
 
Choirul aspnetdb
Choirul aspnetdbChoirul aspnetdb
Choirul aspnetdbPram Monty
 

Similaire à AnchorModeling (20)

Koneksi database menggunakan jsp
Koneksi database menggunakan jspKoneksi database menggunakan jsp
Koneksi database menggunakan jsp
 
Koneksi database menggunakan jsp
Koneksi database menggunakan jspKoneksi database menggunakan jsp
Koneksi database menggunakan jsp
 
05 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 705 pzt web programming jdbc hibernate. kelompok 7
05 pzt web programming jdbc hibernate. kelompok 7
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di android
 
Jeni Web Programming Bab 4 Dasar Jsp
Jeni Web Programming Bab 4 Dasar JspJeni Web Programming Bab 4 Dasar Jsp
Jeni Web Programming Bab 4 Dasar Jsp
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQL
 
Tugas 2 0916 jansen_1512510247
Tugas 2 0916 jansen_1512510247Tugas 2 0916 jansen_1512510247
Tugas 2 0916 jansen_1512510247
 
P webfb
P webfbP webfb
P webfb
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
PEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASEPEMBUATAN TABEL DALAM DATABASE
PEMBUATAN TABEL DALAM DATABASE
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 
Jeni Web Programming Bab 5 Sql Dan Jdbc
Jeni Web Programming Bab 5 Sql Dan JdbcJeni Web Programming Bab 5 Sql Dan Jdbc
Jeni Web Programming Bab 5 Sql Dan Jdbc
 
Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
 
Form validation dengan code igniter
Form validation dengan code igniterForm validation dengan code igniter
Form validation dengan code igniter
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5Belajar membuat modul crud di laravel 5
Belajar membuat modul crud di laravel 5
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 
Choirul aspnetdb
Choirul aspnetdbChoirul aspnetdb
Choirul aspnetdb
 
02. membuat database
02. membuat database02. membuat database
02. membuat database
 

AnchorModeling

  • 1. Konsep Baru Pemodelan Database dengan Anchor Modeling Bowo Prasetyo Teknik Pemodelan Database Agile untuk Struktur dan Konten yang Berubah Seiring Waktu 8 Desember 2011 http://www.scribd.com/prazjp http://www.slideshare.net/bowoprasetyo
  • 2.
  • 3. Berbasis pada empat konstruksi permodelan: anchor , attribute , tie dan knot .
  • 4. Hasilnya dapat diterjemahkan ke desain relational database, di mana hampir semua tabelnya akan berada pada bentuk sixth normal form (6NF).
  • 5.
  • 7. Informasi bebas dari redundancy .
  • 8.
  • 10.
  • 11. Dilambangkan dengan bujur sangkar penuh.
  • 12.
  • 13. AnchorDescription : deskripsi dengan huruf besar di depan setiap kata.
  • 14.
  • 16. Perubahan informasi atribut dapat dibuatkan sejarah, dilambangkan dengan outline ganda.
  • 17.
  • 18. AttributeDescription : deskripsi dengan huruf besar di depan setiap kata.
  • 19.
  • 20. Dilambangkan dengan belah ketupat penuh.
  • 21. Perubahan informasi tie dapat dibuatkan sejarah, dilambangkan dengan outline ganda.
  • 22.
  • 23. role1/2 : peran anchor 1/2, kata pertama adalah kata kerja dengan huruf kecil
  • 24.
  • 25. Dilambangkan dengan bujur sangkar kosong.
  • 26.
  • 27. KnotDescription : deskripsi dengan huruf besar di depan setiap kata
  • 28.
  • 29. Contoh Aplikasi Java EE HelloEnterprise
  • 30.
  • 31.
  • 32.
  • 33. Satu attribute : US_PWD_User_Password
  • 34. Satu tie : US_belongs_GR_to
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. Table Creation SQL CREATE TABLE us_user ( US_ID varchar(64) COLLATE utf8_unicode_ci NOT NULL, US_PWD_User_Password varchar(64) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (US_ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE gr_group ( GR_ID varchar(64) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (GR_ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  • 40. Table Creation SQL CREATE TABLE us_belongs_gr_to ( US_ID varchar(64) COLLATE utf8_unicode_ci NOT NULL, GR_ID varchar(64) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (US_ID,GR_ID), KEY GR_ID (GR_ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ALTER TABLE `us_belongs_gr_to` ADD CONSTRAINT us_belongs_gr_to_ibfk_2 FOREIGN KEY (GR_ID) REFERENCES gr_group (GR_ID), ADD CONSTRAINT us_belongs_gr_to_ibfk_1 FOREIGN KEY (US_ID) REFERENCES us_user (US_ID);
  • 41.
  • 42. Perubahan Database 1 Perubahan Struktur
  • 43.
  • 44.
  • 45.
  • 46. Berarti untuk attribute terkait sex dapat dibuatkan knot .
  • 47.
  • 48. Satu knot : SEX_Sex
  • 49.
  • 50. Table Creation SQL CREATE TABLE sex_sex ( SEX_ID enum('M','F') COLLATE utf8_unicode_ci NOT NULL, SEX_sex varchar(8) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (SEX_ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE us_nam_user_name ( US_ID varchar(64) COLLATE utf8_unicode_ci NOT NULL, US_NAM_User_Name varchar(128) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (US_ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  • 51. Table Creation SQL CREATE TABLE us_sex_user_sex ( US_ID varchar(64) COLLATE utf8_unicode_ci NOT NULL, SEX_ID enum('M','F') COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (US_ID), KEY SEX_ID (SEX_ID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ALTER TABLE `us_nam_user_name` ADD CONSTRAINT us_nam_user_name_ibfk_1 FOREIGN KEY (US_ID) REFERENCES us_user (US_ID); ALTER TABLE `us_sex_user_sex` ADD CONSTRAINT us_sex_user_sex_ibfk_3 FOREIGN KEY (US_ID) REFERENCES us_user (US_ID);
  • 52.
  • 53. Mengakses database dengan taglib JSTL <sql:query>.
  • 54. Menampilkan hasilnya dengan taglib JSTL <c:out>.
  • 55.
  • 56. Di Projects Explorer, buka node Web Pages -> WEB-INF .
  • 57. Buka file web.xml , klik tab References .
  • 58. Buka node Resource References , klik Add.. .
  • 59. Isi field seperti halaman berikut, klik OK. *) Lihat tutorial “Mengamankan Aplikasi Java EE 6 – Mengamankan Komponen Web dengan Realm Keamanan JDBC dan Otentikasi Berbasis Form”
  • 60.
  • 61. Resource Type: javax.sql.DataSource
  • 63. Sharing Scope: Shareable
  • 64. Description: Connects to hello database *) Nama JDBC resource yang telah dibuat di GlassFish.
  • 65. Referensi JDBC web.xml <web-app> ... <resource-ref> <description>Connects to hello database</description> <res-ref-name>jdbc/security</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> ... </web-app>
  • 66.
  • 67. Mengakses database dengan taglib <sql:query>. <%@taglib prefix=&quot;sql&quot; uri=&quot; http://java.sun.com/jsp/jstl/sql &quot;%> <sql:query var=&quot;sex&quot; dataSource=&quot;jdbc/security&quot;> SELECT US_NAM_User_Name FROM us_nam_user_name WHERE US_ID = '<%= username%>' </sql:query>
  • 68.
  • 69. Menampilkan hasil dengan <c:out>. <%@taglib prefix=&quot;c&quot; uri=&quot; http://java.sun.com/jsp/jstl/core &quot;%> <c:out value=&quot; ${name.rows[0].US_NAM_User_Name}&quot; />
  • 70. Memilih Opsi dengan <c:choose> <c:choose> <c:when test='${sex.rows[0].SEX_ID == &quot;M&quot;}'> <c:set var=&quot;title&quot; value=&quot;Bapak&quot; scope=&quot;page&quot; /> </c:when> <c:otherwise> <c:set var=&quot;title&quot; value=&quot;Ibu&quot; scope=&quot;page&quot; /> </c:otherwise> </c:choose>
  • 71. File Lengkap /jdbc/index.jsp <%@taglib prefix=&quot;c&quot; uri=&quot;http://java.sun.com/jsp/jstl/core&quot;%> <%@taglib prefix=&quot;sql&quot; uri=&quot;http://java.sun.com/jsp/jstl/sql&quot;%> <%@page contentType=&quot;text/html&quot; pageEncoding=&quot;UTF-8&quot;%> <% String username = ((HttpServletRequest) pageContext.getRequest()).getUserPrincipal().getName(); %> <!DOCTYPE html>
  • 72. File Lengkap /jdbc/index.jsp <html> <head> <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;> <title>Otentikasi Berbasis Form dengan Realm JDBC untuk JSP</title> </head> <body> <sql:query var=&quot;sex&quot; dataSource=&quot;jdbc/security&quot;> SELECT SEX_ID FROM us_sex_user_sex WHERE US_ID = '<%= username%>' </sql:query>
  • 73. File Lengkap /jdbc/index.jsp <c:choose> <c:when test='${sex.rows[0].SEX_ID == &quot;M&quot;}'> <c:set var=&quot;title&quot; value=&quot;Bapak&quot; scope=&quot;page&quot; /> </c:when> <c:otherwise> <c:set var=&quot;title&quot; value=&quot;Ibu&quot; scope=&quot;page&quot; /> </c:otherwise> </c:choose>
  • 74. File Lengkap /jdbc/index.jsp <sql:query var=&quot;name&quot; dataSource=&quot;jdbc/security&quot;> SELECT US_NAM_User_Name FROM us_nam_user_name WHERE US_ID = '<%= username%>' </sql:query> <h1>Hello <c:out value=&quot;${title}&quot; /> <c:out value=&quot;${name.rows[0].US_NAM_User_Name}&quot; />!</h1> <a href=&quot;../logout.jsp&quot;>Logout</a> </body> </html>
  • 75.
  • 76.
  • 77. Anchor Modeling – Wikipedia, http://en.wikipedia.org/wiki/Anchor_Modeling
  • 78. Online Anchor Modeler, http://www.anchormodeling.com/modeler/
  • 79. Anchor Modeling: Naming Convention, http://www.anchormodeling.com/wp-content/uploads/2010/09/AM-Naming.pdf
  • 80. The NetBeans E-commerce Tutorial - Connecting the Application to the Database, http://netbeans.org/kb/docs/javaee/ecommerce/connect-db.html