Senin, 03 Oktober 2011

Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang
ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case
merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. 

Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.

Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.


Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.

Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk
menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.


    • Diawali dengan initial node
    • Fill Order dan Send Invoice terjadi secara bersamaan
    • Urutan menjadi tidak relevan antara 2 proses tadi
    • Digunakan untuk concurrent algorithm atau threads
    • Jika terdapat paralelism, diperlukan sinkronisasi
    • Order tidak akan ditutup sampai barang dikirim dan pembayaran diterima
    • Digunakan operasi join
    • Diakhiri dengan activity final

    Rabu, 14 September 2011

    Permodelan Bisnis


    Secara formal, didefinisikan sebagai segala teknik pemodelan yang digunakan untuk mengambarkan model sebuah bisnis. Pemodelan Bisnis dapat digunakan untuk meninjau, meningkatkan, dan membuat sebuah bisnis.Dengan dilakukannya pemodelan bisnis diharapkan kita:
    • Memahami struktur dan dinamika organisasi
    • Memahami masalah-masalah dalam mencapai target organisasi dan menemukan potensi untuk kemajuan organisasi.
    • Yakin bahwa para customer, end user, dan developer mempunyai sebuah pemahaman yang benar mengenai organisasi.
    • Dapat menurunkan/mendapatkan kebutuhan perangkat lunak yang akan kita buat yang diperlukan untuk mendukung pencapaian target organisasi.
    Kapan membutuhkan Pemodelan Bisnis?
    • Jika kelompok kerja merupakan kelompok baru dalam organisasi
    • Jika organisasi mengalami re-engineering proses bisnis/ bermaksud menjalankan re-engineering proses bisnis
    • Jika kita akan membangun perangkat lunak yang akan dipergunakan oleh porsi yang significant dari organisasi
    • Jika terdapat aliran kerja yang kompleks dan besar yang tidak didokumentasikan
    • Jika kita merupakan konsultan organisasi yang belum pernah bekerja sama
    Kapan tidak memerlukan Pemodelan Bisnis?
    • Jika kita telah memahami struktur, tujuan, visi dan stakeholder dari organisasi
    • Jika kita membangun perangkat lunak yang akan dipergunakan hanya oleh bagian kecil dari organisasi dan tidak akan menimbulkan efek pada keseluruhan bisnis
    • Jika aliran kerja organisasi telah jelas dan didokumentasikan dengan baik
    • Jika tidak terdapat banyak waktu (tapi tidak boleh dijadikan alasan).
    Elemen-elemen pemodelan bisnis:
    • Business use-case model, dengan elemen-elemen: Business Actor dan Business Use-case, serta Activity Diagram untuk menjelaskan model business use-case. Berikut gambaran Business Use-case Diagram [Activity Diagram dapat dilihat di sini].
    • Business objek model, dengan elemen-elemen: Business Worker (Pekerja Bisnis), Business Entity (Entitas Bisnis)
    Business Object Model: Menggambarkan realisasi business use-case. Mengenali semua orang yang bekerja dan benda yang terlibat dalam bisnis dan bagaimana satu sama lain berhubungan
    Business Use-case Model: Merupakan model yang menggambarkan proses bisnis dari sebuah bisnis atau organisasi dan interaksi proses tersebut dengan pihak luar, seperti para customer dan partner. Diperlukan untuk memperjelas konteks bisnis dari perangkat lunak yang akan dibuat, bersifat optional. Diilustrasikan dalam satu atau beberapa business use-case diagram

    Sabtu, 10 September 2011

    UML Diagram

    Unifed Modeling Language adalah seperangkat aturan dan notasi untuk spesifikasi sistem perangkat lunak, dikelola dan dibuat oleh Object Management Group. notasi ini menyediakan satu set elemen grafis untuk pemodelan sistem.

    Beberapa diagram dari UML adalah:

    1. Use Case Diagram
    alat komunikasi tingkat tinggi untuk mewakili persyaratan sistem. Diagram menunjukkan interaksi antara pengguna dan entitas eksternal lainnya dengan sistem yang sedang dikembangkan.

    2. Activity Diagram
    Menangkap alur dari sebuah sistem, termasuk tindakan utama dan poin keputusan. Diagram ini berguna untuk mendokumentasikan proses bisnis.

    3. Class Diagram
    Class diagram menggambarkan struktur statis dari kelas dalam sistem anda dan menggambarkan atribut, operasi dan hubungan antara kelas.

    4. Squence Diagram
    Squence diagram secara khusus menjabarkan sebuah Use Case. Diagram ini menunjukkan sejumlah objek dan pesan yang melewati suatu objek.

    5. Component Diagram
    Komponen diagram digunakan untuk menggambarkan bagaimana komponen suatu sistem yang terhubung bersama di tingkat yang lebih tinggi dari abstraksi dari diagram kelas. Sebuah komponen bisa dimodelkan oleh salah satu atau lebih kelas.

    6. Deployment Diagram
    Adalah model arsitektur runtime dari sistem dalam pengaturan dunia nyata. Mereka menunjukkan entitas bagaimana perangkat lunak diterapkan ke perangkat fisik.

    7. State Machine Diagram Digunakan untuk menggambarkan status transisi dari objek tunggal dalam menanggapi peristiwa.

    8. Interaction Overview Diagrams
    Merupakan pencangkokan dari Activity Diagram dan Squence Diagram. Disini berupa squence diagram yang dipecah menggunakan notasi activity diagram untuk menunjukkan aliran kontrol

    9. Communications Diagram
    Mendeskripsikan kumpulan objek yang berinteraksi untuk menjalankan suatu tingkah laku dalam sistem.

    RPL (Rekayasa Perangkat Lunak)


    Rekayasa perangkat lunak telah berkembang sejak pertama kali ddiciptakan pada tahun 1940-an hingga kini. Focus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh pemakai.

    Fase Rekayasa Perangkat Lunak:
    1. Analisa
    2. Perancangan / Design
    3. Pengembangan / Development
    4. Testing
    5. Implementasi / Deployment
    6. Maintenance

    Tujuan Rekayasa Perangkat Lunak
    1. Meningkatkan keakuratan, performance & efficiency produk secara keseluruhan dalam pengembangan.
    2. Menerapkan metodologi yang terdefinisi dengan baik untuk resolusi software.
    3. Melengkapi secara rasional konflik-konflik dan dokumentasi.

    Jumat, 09 September 2011

    UML (Unified Modelling Language)

    UML adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

    Dengan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walau demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

    Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).




    Langkah-Langkah Penggunaan UML

    Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:

    1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.

    2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.

    3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.

    4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.

    5. Berdasarkan use case diagram, mulailah membuat activity diagram.

    6. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.

    7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.

    8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.

    9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.

    10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.

    11. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
    • Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
    • Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.

    12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual.

    13. Piranti lunak siap dirilis.

    Kamis, 02 Juni 2011

    Database Connectivity


    Database Connectivity

    1. Koneksi database

    adalah sebuah fasilitas dalam ilmu komputer yang memungkinkan perangkat lunak client untuk berkomunikasi dengan perangkat lunak database server. Sambungan diperlukan untuk mengirimkan perintah dan menerima jawaban.

    Hal yang harus diperhatikan dalam Koneksi Database:
    • Knowing the business, not only technology 
    • Centralized or Distributed 
    • Thin client or fat client 
    • Database gateway 
    • Network Trafic 
    • Webbase or dekstop:
                 * Need provider?
                 * Availability?
                 * Red use down time

    2. Elemen – elemen dalam Database Connectivity

    Database adalah repositori dimana data disimpan untuk perusahaan. Java EE mengakses aplikasi database relasional melalui API JDBC. Untuk prosedur administrasi. JDBC Connection Pool adalah sekelompok koneksi dapat digunakan kembali untuk database tertentu untuk prosedur administrasi.

    3. Pooling Connection

    Koneksi database yang terbatas dan mahal dapat memakan waktu yang tidak proposional dan lama untuk menciptakan relatif terhadap operasi yang dilakukan pada mereka. Hal ini sangat tidak efisien untuk sebuah aplikasi untuk membuat menutup koneksi database jika perlu untuk memperbaharui database.

    4. ODBC (Open Database Connectivity)

    Sebuah standar terbuka untuk konektivitas antar mesin basis data. Standar ini menyediakan API yang dapat digunakan untuk menjalankan dan mengoneksikan sebuah aplikasi dengan sbeuah sistem managemen basis data (SMBD). Pada Desainer ODBC membuatnya dengan tujuan agar ODBC terbebas dari penggunaan bahasa pemrograman tertentu, sistem manajemen basis data tertentu, dan sistem operasi tertentu.

    5. Komponen utama ODBC
    • ODBC API : Sekumpulan panggilan fungsi kode – kode kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah DBMS diakses. 
    • Driver basis data ODBC : driver yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu. 
    • ODBC Driver Manager : yang bertugas untuk memuat driver basis data ODBC yang dibutuhkan oleh aplikasi. 
    6. Jadi kesimpulannya terdapat beberapa hal yang penting yang harus diperhatikan, yaitu :
    • Knowing the business, not only technology [fokus terhadap pemahaman tentang bisnis] 
    • Centralized or distributed [memperhitungkan apakah menggunakan databse terpusat atau terdistribusi] 
    • Thin client fat client [melihat apakah client yang di layani dalam kapasitas kecil atau besar] 
    • Database gateway [melihat hubungan – hubungan (connect) dan pembatasanannya] 
    • Network trafic [kemampuan atau kinerja dalam trafic network] 
    • Database design [bagaimana disain dari database tersebut] 

    Data Management and Distribution


    Data Movement
    - Load adalah import->memasukkan data dari transaksi ke dalam tabel, berupa insert data baru/update.Isi database sesuai kebutuhan
    - Unload adalah export->dari database ke data file
    Export & Import
    Memiliki kesamaan dengan load maupun unload akan tetapi berbeda fungsinya
    Limit : membatasi berupa record yang kita tulis / pindahkan
    Contoh: Limit 200
                 Sample (20.5)
                 when (salary>500)
    When–>perpindahan data yang menggunakan syarat
    * Masalah hak akses : pada load & unload harus ada ” grant “
                                      EXP_DATABASE
                                      IMP_DATABASE
    Bulk Data Movement
    ETL : merupakan software / teknologi lain yang disertakan untuk movement digunakan untuk membuat datawarehouse, misal pengkodean item
    Replication propagation : sama-sama dari source database ke target database ( mencatat log )
    ROW
    Row size = Length (Col1) +……….+ Length (Coln)
    PAGE
    Row perpage= Storage Capacity/Row size
    Table
    Table size(kb) = (number of rows/row perpage)x capacity
    Distributed Dbase
    -Autonomi->Independent
    -Isolation->Stand Alone
    -Transparency->All User
    Terpusat->mudah dimaintenance
    Terpisah->harus jalan syncronisasi

    Storage Management


    Storage Management 
    Oracle Instance
    Oracle database selalu diasosiasikan dengan Oracle Instance. Saat database dijalankan pada database server, oracle mengalokasikan memory yang disebut System Global Area (SGA) dan menjalankan beberapa oracle background process. Kombinasi dari SGA dan Oracle processes disebut dengan Oracle Instance. Memory dan proses dari instance mengatur data dalam database secara efisien dan dapat melayani satu atau lebih user yang menggunakan basis data ini.
    Memory Structure
    Memory di Oracle digunakan untuk menyimpan:
    • Kode program yang akan dieksekusi
    • Informasi tentang session
    • Data yang akan dieksekusiInformasi yang di share dan dikomunikasi oleh proses yang lain. Misalnya locking information
    • Cache information

    Dasar struktur memory yang berhubungan dengan oracle:
    • Software Code Area
    • System Global Area (SGA)
    • Program Global Area (PGA)
    • Sort area


    Software Code Areas
    Bagian dari memory yang digunakan untuk menyimpan kode program yang akan dieksekusi. Perintah/kode oracle disimpan di software code areas yang biasanya berada di tempat yang berbeda-beda sesuai dengan program dari user. Ukuran software codes areas statis, berubah jika dilakukan installasi ulang atau update.

    System Global Area (SGA)

    Memory Structure dasar yang berhubungan dengan Oracle instance adalah :
    • System Global Area (SGA) : di-share oleh semua server dan background process
    • Program Global area (PGA) : Private untuk masing-masing server dan background process. Satu PGA untuk masing-masing proses.

    System Global Area (SGA) merupakan memory area yang meliputi data dan control informasi untuk instance.
    Program Global Area (PGA) adalah memory yang terdiri dari data dan control information untuk masing-masing proses server.

    Space Management
    Automatic Storage Management (ASM) yang dimiliki oleh Oracle 10g ini dapat meningkatkan kemampuan dalam memanajemen dan menkonsolidasikan antar data dalam basis data/ database.


    Fungsi dari Automatic Storage Management (ASM)
    Melakukan manajemen penyimpanan data pada storage dengan mendefinisikan storage berdasarkan grup-grup tertentu untuk mengurangi adanya redundansi data, khususnya ketika seorang DBA melakukan penyimpanan data.

    Automatic Storage Management (ASM) menyediakan fungsionalitas sebagai berikut:
    • Mengatur kelompok disk, disebut disk group.
    • Mengelola disk redundansi dalam suatu disk group.
    • Menyediakan dekat-optimal I / O menyeimbangkan tanpa tuning manual.
    • Memungkinkan manajemen objek database tanpa menyebutkan mount point dan nama file.
    • Mendukung file ukuran besar.


    Tablespace
    Tablespace merupakan bagian dari arsitektur logic database Oracle (secara sekilas, struktur logik database Oracle adalah tablespace, segment, extent, dan block).


    Terdapat 4 jenis Tablespace
    System tablespace
    Menyimpan informasi operasional dan menentukan atribute dari data yang disimpan seperti tipe data, besar maksimum dari sebuah column, pemilik data dan lain-lain.

    SYSAUX tablespace
    Sebagian besar dari tool yang digunakan untuk menjalankan aktifitas database menyimpan object dan informasi di dalam tablespace ini. Ketika database dibentuk, tablespace ini wajib dibuat.

    Default temporary tablespace
    Berguna untuk penampungan sementara dari hasil output resultset atau untuk mendukung aktifitas seperti sorting. Sangat berguna jika memory yang ada tidak cukup untuk menjalankan sebuah operasi.

    Undo tablespace
    Berguna untuk menyimpan row yang diubah namun belum dicommit atau diroll back.

    Datafiles
    Sebuah tablespace di database Oracle terdiri dari satu atau lebih datafiles fisik. Suatu datafile dapat dikaitkan dengan hanya satu tablespace dan hanya satu database.

    Redo Logs
    Redo Log File merupakan jenis berkas yang sangat penting. Berkas Redo Log File yang rusak kadang membuat database sama sekali tidak bisa dibuka. Redo Log Files ini pada umumnya memuat transaksi transaksi, namun dalam jangka waktu yang tidak terlalu lama.
    Rollback Segment
    Rollback segment dipakai untuk menyimpan data sebelum transaksi. Sehingga selama transaksi itu belum di commit, session lain masih dapat melihat data yang original. Hal ini untuk menjaga consistency.

    Disaster recovery planning


    Disaster recovery planning

    Disaster (bencana) didefinisikan sebagai kejadian yang waktu terjadinya tidak dapat diprediksi dan bersifat sangat merusak. Pengertian ini mengidentifikasikan sebuah kejadian yang tiba-tiba, tidak diharapkan, bersifat sangat merusak, dan kurang perencanaan. Bencana terjadi dengan frekuensi yang tidak menentu dan akibat yang ditimbulkannya meningkat bagi mereka yang tidak mempersiapkan diri terhadap kemungkinan-kemungkinan timbulnya bencana. Berbagai bencana yang mungkin terjadi antara lain adalah:
    1. Bencana alam disebabkan oleh kondisi geografis dan geologis dari lokasi
    2. Kebakaran disebabkan oleh faktor lingkungan dan pengaturan sistem elektrik yang dapat menyebabkan korsleting
    3. Kerusakan pada jaringan listrik disebabkan oleh sistem elektrik
    4. Serangan teroris disebabkan oleh lemahnya keamanan fisik dan non fisik data center
    5. Sistem atau perangkat yang rusak terkait dengan kesalahan manajemen pengawasan perangkat
    6. Kesalahan operasional akibat ulah manusia
    7. Virus misalkan disebabkan oleh kesalahan pemilihan anti virus yang digunakan
    Dengan kata lain  Disaster Recovery Planning merupakan serangkaian kegiatan yang bertujuan untuk mengurangi dan membatasi resiko – resiko buruk (bencana) dan nantinya membuat kerugian – kerugian pada proses bisnis yang ada. Dapat dikatakan bahwa proses ini adalah sebuah proses penanggulangan – penganggulangan atau rencana untuk menanggulangi suatu bencana pada proses bisnis.
    Beberapa Keuntungan dari Disaster Recovery Planning
    • Memperbaiki system proteksi terhadapat setiap aset – aset penting yang dimiliki oleh perusahan tersebut.
    • Membuat system proteksi infomasi atau data – data perusahaan lebih efektif.
    • Mengurangi resiko bencana akibat kesalahan manusia
    • Memperbaiki manajemen perusahaan
    Hal- hal yang perlu diperhatikan dalam menyusun Informasi Disaster Recovery Plan dalam sebuah Perusahaan Adalah :
    • Memastikan keamanan para pekerja dan pengunjung pada lokasi di mana mereka berada
    • Melindungu record dan informasi penting
    • Memastikan keamanan fasilitas dan lokasi-lokasi bisnis
    • Memastikan ketersediaan material, perlengkapan dan peralatan
    • Mengurangi resiko bencana yang diakibatkan oleh kesalahan manusia atau kegagalan peralatan yang digunakan
    • Data-data dan fasilitas penting lainnya telah ditata dengan baik sehingga memudahkan proses pemulihan ketika bencana alam terjadi
    Jenis-jenis Recovery
    1. User-Managed Recovery
    2. RMAN Recovery
    • Proses Restoration and Datafile Media Recovery dengan RMAN
    • Menggunakan RMAN untuk recover database di mode ARCHIVELOG
    • Menggunakan RMAN untuk mengembalikan datafile ke lokasi yang baru. Langkah-langkahnya yaitu:
    •  Menggunakan RMAN untuk recover tablespace
    • Menggunakan RMAN untuk relocate tablespace
    Langkah-langkah recovery incomplete database dengan menggunakan RMAN ialah sebagai berikut:
    1. Mount database.
    2. Alokasi multiple channel untuk paralelisasi.
    3. Restore semua datafile.
    4. Recover database dengan menggunakan using UNTIL TIME, UNTIL SEQUENCE, atau UNTIL SCN
    5. Buka database dengan menggunakan RESETLOGS.
    6. Lakukan backup untuk semua database.

    APPLICATION PERFORMANCE AND DATABASE SECURITY


    APPLICATION PERFORMANCE AND DATABASE SECURITY
    • Application Performance
    1. Pengertian
    Optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.
    1. Perbandingan Antara Dua Database :
      a. My SQL
      Merupakan sebuah system manajemen database. Database adalah sekumpulan
       data yang terstruktur. Untuk menambah, mengakses dan memproses data yang
    tersimpan pada database komputer, kita membutuhkan manajemen database seperti
    MySQL.
    MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah                      untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu,                    source  programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah         untuk dipahami dan tidak rumit  serta pengaksesan database dapat dilakukan dengan                         mudah  dan cepat.
    v  Kelebihan My SQL:
    1.  Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows,                               MacOS dl.
    2. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
    3. Memiliki lebih banyak type data seperti : signed/unsigned integer yang                                         memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR,                                  VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP,                                        YEAR, SET dan tipe ENUM.
    4. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY.                                      Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG (                     ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
    5. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak                                 ODBC.
    6. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi                                ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access                                     untuk connect ke MySQL server.
    7. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
    8. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam                                 query yang sama.
    9. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang                                      sangat jauh berbeda.
    10. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan                                      ‘Host-Based’ Verifikasi.
    v  Kekurangan My SQL :
    Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan                                   foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca                          harus sesuai dengan koneksi dari program visual tersebut, dan ini yang                                        menyebabkan mysql jarang dipakai dalam program visual.
    Data yang ditangani belum begitu besar.
    b. Oracle
                Database Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan      database oracle juga meyediakan yang gratisan versi home edition untuk sekedar yang ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. Untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix, windows, atau yang lainnya.
    Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance      oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda           harus menyediakan space harddisk yang cukup besar. Untuk backup oracle mempunyai          extensi sendiri namanya file DMP.
    v  Kelebihan Oracle :
    1. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati                              misalnya maka data yang sudah kita simpan tidak rusak/hilang.
    2. Database Clusters, dengan menggunakan teknologi Real Application Clusters                                (RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap                                 kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah                                 satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal                             ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa                                   database server menjadi seolah-olah satu database server, sehingga apabila ada                                 database server yang down, kinerja database server tersebut akan di-take over                                oleh server-server yang lain.
    3. Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table-                                    level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi                              sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam                                      suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
    4. Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu                               tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk                                   dalam melakukan manajemen data.
    5. Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki                                        fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database)                                  yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak                                      memerlukan database lain selain Oracle itu sendiri.
    6. Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas                                 jaminan security sampai pada row-level security. Hal ini akan membuat                                              aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui                                Internet.
    7. Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses                                     database tuning dan database manajemen menjadi lebih mudah.
    8. Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita                                   mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga                                  apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat                                                melakukan koreksi tanpa harus melakukan database recovery.
    9. Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan                                    bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang                                        bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi                                       perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data                                                 Mining.
    • Security Database
    Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.
    Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database.

    APPLICATION PERFORMANCE AND DATABASE SECURITY


    APPLICATION PERFORMANCE AND DATABASE SECURITY
    • Application Performance
    1. Pengertian
    Optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.
    1. Perbandingan Antara Dua Database :
      a. My SQL
      Merupakan sebuah system manajemen database. Database adalah sekumpulan
       data yang terstruktur. Untuk menambah, mengakses dan memproses data yang
    tersimpan pada database komputer, kita membutuhkan manajemen database seperti
    MySQL.
    MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source  programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit  serta pengaksesan database dapat dilakukan dengan mudah  dan cepat.
    v  Kelebihan My SQL:
    1.  Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows,MacOS dl.
    2. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
    3. Memiliki lebih banyak type data seperti : signed/unsigned integer yang  memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR,  VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
    4. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG (  ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
    5. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak  ODBC.
    6. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
    7. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
    8. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
    9. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
    10. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan  ‘Host-Based’ Verifikasi.
    v  Kekurangan My SQL :
    Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca  harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
    Data yang ditangani belum begitu besar.
    b. Oracle
                Database Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan      database oracle juga meyediakan yang gratisan versi home edition untuk sekedar yang ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. Untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix, windows, atau yang lainnya.
    Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda harus menyediakan space harddisk yang cukup besar. Untuk backup oracle mempunyai extensi sendiri namanya file DMP.
    v  Kelebihan Oracle :
    1. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati  misalnya maka data yang sudah kita simpan tidak rusak/hilang.
    2. Database Clusters, dengan menggunakan teknologi Real Application Clusters(RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa database server menjadi seolah-olah satu database server, sehingga apabila ada database server yang down, kinerja database server tersebut akan di-take over oleh server-server yang lain.
    3. Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table- level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
    4. Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk dalam melakukan manajemen data.
    5. Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki  fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database)  yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak memerlukan database lain selain Oracle itu sendiri.
    6. Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas jaminan security sampai pada row-level security. Hal ini akan membuat aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui Internet.
    7. Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses  database tuning dan database manajemen menjadi lebih mudah.
    8. Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita  mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga  apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat melakukan koreksi tanpa harus melakukan database recovery.
    9. Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang  bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi  perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data Mining.
    • Security Database
    Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.
    Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database.