Archive | Tutorial RSS feed for this section

Form Input / Output PHP

11 May

Dalam tulisa berikut akan di bahas contoh dasar untuk koneksi ke database mySQL menggunakan php, menampilkan isi tabel, dan menambah isi tabel. Form untuk hapus dan edit data bisa di modifikasi dari contoh form berikut dengan menyesuaikan script program php.

Dalam contoh berikut, menggunakan webServer apache dan database mysql. Semua file contoh di letakkan di web root, atau di letakkan di folder htdocs

Struktur Tabel

Struktur tabel yang di pakai dalam contoh tampak pada gambar di bawah.

Database yang digunakan adalah database mySQL, menggunakan catalog tennis, dan nama tabel siswa, dengan kolom : nis, nama, alamat

Koneksi ke Database

Setiap program php di simpan dalam file yang ber ekstensi php. Dalam file php tersebut, skrip program php di tandai di antara tanda <?php dan ?>

Untuk koneksi ke database, menggunakan perintah mysql_connect, dan untuk memilih katalog database yang akan diakses menggunakan perintah mysql_select_db. Contoh skrip sederhana untuk membuka koneksi ke database dan membuka katalog database tampak pada program di berikut. File ini di simpan dengan nama file form1.php

 

Menampilkan Data

Untuk menampilkan data, pertama kali kita melakukan koneksi ke database. Tahap ini dilakukan dengan memanggil file form1.php, yaitu dengan cara memberikan perintah include_once. Kemudian kita melakukan query ke tabel yang akan di tampilkan, query di jalankan dengan perintah mysql_query. Hasil jumlah baris query bisa di dapatkan dari perintah mysql_num_rows.

Hasil record query bisa di simpan dalam sebuah array dengan index nama kolom yang kita gunakan. Untuk menyimpan hasil query per record ke sebuah array menggunakan mysql_fetch_array.

Contoh program tampak pada gambar dibawah, dengan nama file form2.php

Pada bagian akhir form2.php ada link untuk memanggil form3.php yang akan digunakan sebagai form input. Form2 ini adalah form utama, jadi yang dipanggil pertama kali adalah form2.php.

Untuk memanggil form ini, dari browser, di bagian address di ketikkan localhost\form2.php

 

Form Input

Form input dibuat dengan menggunakan tag HTML untuk form. Pada contoh berikut, form action menggunakan metode POST, dan form yang akan memproses / form action adalah form3_prosesTambah.php

Form untuk memproses Form Input

Form ini akan dipanggil setelah tombol submit di klik di form3.php.

Pada form ini, akan di tangkap isian dari form3, yaitu isian untuk nis, nama, alamat. Kemudian dilakukan insert ke database menggunakan perintah mysql_query. Contoh skrip program tampak pada gambar berikut:

Pada bagian akhir, setelah di lakukan insert, file php memanggil form2.php, sehingga kembali ke halaman awal.

Hasil Running

 

Advertisements

Instalasi CodeIgniter + MVC

15 Mar

Code Igniter (CI) adalah salah satu dari webframework yang bisa digunakan dalam mengembangkan sebuah aplikasi web. CI menerapkan konsep MVC, dan cukup mudah dipelajari, sehingga banyak developer yang memanfaatkan framework ini. Dengan mencoba fitur dan library yang ada, saya yakin seorang programmer php / web developer akan sudah menguasai tool ini dalam kurang dari 24 jam belajar.

Langkah

  1. Download http://codeigniter.com/downloads/
  2. Copykan ke Folder aplikasi

Security

  1. Ubah Folder khusus CI. Folder khususnya adalah:
    1. System, misal di ubah menjadi r_system
    2. Application, misalnya di ubah menjadi r_application
  2. Buka file index.php
  3. Cari variabel:
    1. $system_folder , ubah isinya menjadi r_system
    2. $application_folder, ubah isinya menjadi r_application
  4. Metode lain, folder system dan application di letakkan di atas folder root / web root, sehingga tidak bisa di akses melalui http / browser.

Database Configuration

  • The config file is located at application/config/database.php.
$db[‘default’][‘hostname’] = “localhost”;
$db[‘default’][‘username’] = “root”;
$db[‘default’][‘password’] = “”;
$db[‘default’][‘database’] = “database_name”;
$db[‘default’][‘dbdriver’] = “mysql”;
$db[‘default’][‘dbprefix’] = “”;
$db[‘default’][‘pconnect’] = TRUE;
$db[‘default’][‘db_debug’] = FALSE;
$db[‘default’][‘cache_on’] = FALSE;
$db[‘default’][‘cachedir’] = “”;
$db[‘default’][‘char_set’] = “utf8”;
$db[‘default’][‘dbcollat’] = “utf8_general_ci”;
$db[‘default’][‘swap_pre’] = “”;
$db[‘default’][‘autoinit’] = TRUE;
$db[‘default’][‘stricton’] = FALSE;

MVC

CodeIgniter is based on the Model-View-Controller development pattern. MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.

  • The Model represents your data structures. Typically your model classes will contain functions that help you retrieve, insert, and update information in your database.
    • Models are the place where you retrieve, insert, and update information in your database or other data stores. They represent your data.
  • The View is the information that is being presented to a user. A View will normally be a web page, but in CodeIgniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of “page”.
  • The Controller serves as an intermediary between the Model, the View, and any other resources needed to process the HTTP request and generate a web page.

CodeIgniter has a fairly loose approach to MVC since Models are not required. If you don’t need the added separation, or find that maintaining models requires more complexity than you want, you can ignore them and build your application minimally using Controllers and Views. CodeIgniter also enables you to incorporate your own existing scripts, or even develop core libraries for the system, enabling you to work in a way that makes the most sense to you.

Application Flowchart

The following graphic illustrates how data flows throughout the system:


  1. The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.
  2. The Router examines the HTTP request to determine what should be done with it.
  3. If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.
  4. Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.
  5. The Controller loads the model, core libraries, helpers, and any other resources needed to process the specific request.
  6. The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so that on subsequent requests it can be served.

CodeIgniter URLs

The segments in the URL, in following with the Model-View-Controller approach, usually represent:

example.com/class/function/ID

  1. The first segment represents the controller class that should be invoked.
  2. The second segment represents the class function, or method, that should be called.
  3. The third, and any additional segments, represent the ID and any variables that will be passed to the controller.

Controller – Contoh halaman static dengan Controller

File ini di letakkan di folder controller. Nama file hars sama dengan nama class yang akan dibuat.

File ini dipanggil dengan cara : index.php/[nama controller]/[nama methode]/[argumen]

  1. Buat di application/controllers/pages.php
  2. Isi nya
<?php

class pages extends CI_Controller {

public function view($page = ‘home’)

{

Echo “hi there”;

}

}

  1. Buka : http://192.168.56.102/ci/index.php/pages/view

Contoh lain:

<?php

class pages extends CI_Controller

{

public function view($page = ‘home’)

{

echo “memanggil halaman $page”;

}

}

?>

Dipanggil dengan : http://192.168.56.102/ci/index.php/pages/view/admin

  • Methode default yang dipanggil adalah : index, jadi jika methode tidak disebutkan, yang akan di jalankan adalah’index’
  • The controller is what will become the center of every request to your web application.
  • In very technical CodeIgniter discussions, it may be referred to as the super object

View

  • Disimpan di folder application/views
  • Contoh, kita akan membuat template halaman, yang terdiri dari header, dan footer
  • application/views/templates/header.php, isi
<html>

<head>

<title><?php echo $title ?> – CodeIgniter 2 Tutorial</title>

</head>

<body>

<h1>CodeIgniter 2 Tutorial</h1>

  • application/views/templates/footer.php
<strong>&copy; 2011</strong>

</body>

</html>

  • Controller Logic
public function view($page = ‘home’)

{


    if ( ! file_exists(‘application/views/pages/’.$page.’.php’))

    {

        // Whoops, we don’t have a page for that!

        show_404();

    }


    $data[‘title’] = ucfirst($page); // Capitalize the first letter


    $this->load->view(‘templates/header’, $data);

    $this->load->view(‘pages/’.$page, $data);

    $this->load->view(‘templates/footer’, $data);

}

  • Di application/views/pagess/contoh.php
<?php

echo “ini halaman contoh <br>”;

?>

  • The controller is now functioning! Point your browser to [your-site-url]index.php/pages/view to see your page. When you visit index.php/pages/view/about you’ll see the about page, again including the header and footer.

Dynamic Content – Model

  • Instead of writing database operations right in the controller, queries should be placed in a model, so they can easily be reused later.
  • Models are the place where you retrieve, insert, and update information in your database or other data stores. They represent your data.
  • Tabel contoh :
CREATE TABLE news ( 
    id int(11) NOT NULL AUTO_INCREMENT, 
    title varchar(128) NOT NULL, 
    slug varchar(128) NOT NULL, 
    text text NOT NULL, 
    PRIMARY KEY (id), 
    KEY slug (slug) 
);
  • Buat file : application/models/news_model.php
<?php

class news_model extends CI_Model {

public function __construct()

{

$this->load->database();

}

public function get_news($slug = FALSE)

{

if ($slug === FALSE)

{

$query = $this->db->get(‘news’);

return $query->result_array();

}
$query = $this->db->get_where(‘news’, array(‘slug’ => $slug));

return $query->row_array();

}

}

?>

Menampilkan News

  • Buat file di application/controllers/news.php
<?php

class news extends CI_Controller {

public function __construct()

{

parent::__construct();

$this->load->model(‘news_model’);

}

    public function index() 
{ 
    $data['news'] = $this->news_model->get_news(); 
    $data['title'] = 'News archive'; 
    $this->load->view('templates/header', $data); 
    $this->load->view('news/index', $data); 
    $this->load->view('templates/footer'); 
} 
    public function view($slug) 
    { 
        $data['news'] = $this->news_model->get_news($slug); 
    } 

}

?>

  • You now need to create a view to render the news items. Create application/views/news/index.php
<?php foreach ($news as $news_item): ?>

<h2><?php echo $news_item[‘title’] ?></h2>

<div id=”main”>

<?php echo $news_item[‘text’] ?>

</div>

<p><a href=”news/<?php echo $news_item[‘slug’] ?>”>View article</a></p>

<?php endforeach ?>

  • add some code to the controller and create a new view
public function view($slug) 
{ 
    $data['news_item'] = $this->news_model->get_news($slug); 
    if (empty($data['news_item'])) 
    { 
        show_404(); 
    } 
    $data['title'] = $data['news_item']['title']; 
    $this->load->view('templates/header', $data); 
    $this->load->view('news/view', $data); 
    $this->load->view('templates/footer'); 
} 
  • The only things left to do is create the corresponding view at application/views/news/view.php
<?php 
echo '<h2>'.$news_item['title'].'</h2>'; 
echo $news_item['text']; 

Create Form

  • To input data into the database you need to create a form where you can input the information to be stored. This means you’ll be needing a form with two fields, one for the title and one for the text. You’ll derive the slug from our title in the model.
  • Create the new view at application/views/news/create.php
<h2>Create a news item</h2>

<?php echo validation_errors(); ?>

<?php echo form_open(‘news/create’) ?>

<label for=”title”>Title</label>

<input type=”input” name=”title” /><br />

<label for=”text”>Text</label>

<textarea name=”text”></textarea><br />

<input type=”submit” name=”submit” value=”Create news item” />

</form>

  • form_open() function, is provided by the form helper and renders the form element and adds extra functionality, like adding a hidden CSFR prevention field.
  • validation_errors() function, is used to report errors related to form validation.
  • news controller
public function create() 
{ 
    $this->load->helper('form'); 
    $this->load->library('form_validation'); 
     
    $data['title'] = 'Create a news item'; 
     
    $this->form_validation->set_rules('title', 'Title', 'required'); 
    $this->form_validation->set_rules('text', 'text', 'required'); 
     
    if ($this->form_validation->run() === FALSE) 
    { 
        $this->load->view('templates/header', $data);     
        $this->load->view('news/create'); 
        $this->load->view('templates/footer'); 
         
    } 
    else 
    { 
        $this->news_model->set_news(); 
        $this->load->view('news/success'); 
    } 
} 
  • you can see a condition that checks whether the form validation ran successfully. If it did not, the form is displayed, if it was submitted and passed all the rules, the model is called. After this, a view is loaded to display a success message.
  • Create a view at application/view/news/success.php
  • Open up the model created earlier and add the following
public function set_news() 
{ 
    $this->load->helper('url'); 
     
    $slug = url_title($this->input->post('title'), 'dash', TRUE); 
     
    $data = array( 
        'title' => $this->input->post('title'), 
        'slug' => $slug, 
        'text' => $this->input->post('text') 
    ); 
     
    return $this->db->insert('news', $data); 
} 
  • The third line contains a new function, url_title(). This function – provided by the URL helper – strips down the string you pass it, replacing all spaces by dashes (-) and makes sure everything is in lowercase characters. This leaves you with a nice slug, perfect for creating URIs.

Controller dengan tidak memakai konsep MVC

public function lihat()

{

$this->load->database();

$query = $this->db->query(‘select * from news’);
if ($query->num_rows() > 0)

{

foreach ($query->result() as $row)

{

echo $row->title.” *** “.$row->slug.” *** HH *** “.$row->text.”<br>”;

}

}

}

PHP Dasar

Koneksi ke Tabel

<?php

$cnn = mysql_connect(“localhost”,”root”,”dvo”) or die(“Could not connect to db”);

if ($cnn) mysql_select_db(“arsip01”);

?>

$sql = “select id_bagian, nm_bagian from bagian order by id_bagian”;

$hasil = mysql_query($sql) or die(“SQL error- $sql”);

if ($hasil==false) exit;

$no1 = 1;

while ($row=mysql_fetch_row($hasil))

{

Echo $row[0].”-“. $row[1];

}

Melakukan input data ke tabel

$sql = “query”

$hasil = mysql_query($sql) or die(“”);

LAMPP – Linux WebServer

15 Mar

Lampp adalah webserver yang berjalan di OS linux. Berikut adalah panduan untuk melakukan instalasi Lampp di Ubuntu.

Langkah Instalasi webServer di Linux

Cek / Set IP Address WebServer

  1. Lakukan Instalasi Ubuntu
  2. Cek setting IP Ubuntu, Langkah
    1. Buka menu Application, accessories, terminal
    2. Ketikkan ifconfig, cek setting untuk eth0 atau eth1 (tergantung Network card yang dipakai untuk akses web Server), sesuai dengan gambar berikut
    3. cek setting melalui terminal, ketikkan ping [IP Address], dalam contoh:
      ping 192.168.56.101
    4. Jika diperlukan, lakukan Setting ulang IP Address, diusahakan IP Address untuk webServer adalah Static. Jika telah melakukan Setting IP Address, lakukan restart Network dengan perintah :
      1. sudo /etc/init.d/networking restart

Instalasi XAMPP Linux (webserver)

Instalasi

  1. Download master LAMPP di http://www.apachefriends.org/en/xampp-linux.html#374
  2. copykan master xampp-linux.tar ke lokasi sementara. Misal, copykan ke folder home
  3. buka terminal, lakukan extract instalasi XAMPP, ketikkan
    sudo tar xvfz xampp-linux-1.7.7.tar.gz -C /opt
    XAMPP akan terinstall di folder [root]/opt
  4. lakukan startup XAMPP, dari terminal ketikkan
    sudo /opt/lampp/lampp start, seperti pada tampilan berikut

  5. Lakukan pengecekan bahwa service xampp sudah berjalan, buka browser, pada bagian address, ketikkan IP Server, jika sukses akan muncul

Autorun Service LAMPP

  1. Agar Service LAMPP berjalan pada saat OS Startup, buka menu System, Preferences, Startup Application.
    1. Muncul window berikut
    2. Klik ADD, muncul window
      Pada bagian name, isikan XAMPP,
      pada bagian command, isikan gksu /opt/lampp/lampp start ;
      pada bagian comment isikan: start xampp, jika sudah, klik ADD, dan tekan close

Penyiapan Folder aplikasi web

  1. Folder aplikasi Web akan terletak di /opt/lampp/htdocs/
  2. Di Linux, setiap folder memilki hak akses tertentu. Kita harus menset hak akses di folder aplikasi web agar bisa di akses oleh aplikasi LAMPP. Caranya:
    1. Buka Terminal, ketikkan sudo chmod 777 -R /opt/lampp/htdocs/

Fitur LAMPP

Beberapa layanan yang terdapat di LAMPP

  1. Apache WebServer
  2. DBMS mySQL
  3. FTP – proFTPD

Setting configurasi php.ini

Untuk melakukan perubahan setting configurasi php.ini, langkahnya:

  1. Login dalam Server Ubuntu
  2. Buka terminal, dari menu Accessoris, Terminal
  3. Masuk ke folder /opt/lampp/etc, perintah terminal :
    cd opt/lampp/etc
  4. Buka file php.ini, dengan perintah
    sudo nano php.ini
  5. Simpan file, caranya Ctrl+X, pilih yes, tekan ENTER
  6. Restart LAMPP, dengan perintah:
    sudo /opt/lampp/lampp restart

LAMPP Security

  1. Buka terminal, ketikkan Sudo /opt/lampp/lampp security
  2. Setting security sesuai dengan tampilan berikut, ingat password yang dientrikan, untuk password root mySQL, isikan ocals99 :
  1. Untuk ujicoba aplikasi, buka browser, masukkan address [ip server]/index.html

Remote Desktop

Agar server bisa diremote, langkahnya:

  1. Login di Ubuntu
  2. Buka menu Preferences, Remote Desktop
  3. Lakukan setting sesuai dengan gambar berikut:
  4. Lakukan instalasi TightVNC, bisa didapatkan di http://www.tightvnc.com/download.php
  5. Jalankan TighVNC Viewer
  6. Untuk b isa di remote, posisi di Ubuntu harus Lock Screen

FTP

Jika diperlukan, aplikasi bisa diupdate, bisa dilakukan dengan FTP. Langkahnya:

  1. Lakukan instalasi winscp, bisa didapatkan di http://winscp.net/eng/index.php
  2. Jalankan aplikasi winscp, isi setting koneksi sesuai tampilan berikut:
  3. Hostname isikan IP server, isi username dan password, sesuaikan protocol, klik login. Jika tidak melakukan perubahan security, user name : nobody, password : lampp
  4. Jika login sukses, anda akan langsung masuk ke folder : /opt/lampp/htdocs/

Aplikasi VB6 error data binding di Win7

16 Jan

Saya ada kendala error ketika menjalankan aplikasi vb6 di win7, dan ketika source vb nya coba di buka, ternyata error juga, padahal tidak ada source code yang di ubah J. Program ini udah implementasi di klien cukup lama, dan seingat saya, ya terakhir kali mencoba yang tidak ada error. So, pasti bukan error logic program, ataupun syntax, pasti karena komponennya.

Kejadian ini terjadi ketika ada client yang tanya masalah program lama yang dulu saya buat pakai VB6, dan pakai OS Win XP. Sudah 2 tahun ini saya pindah ke win7, dan dulu sempat install VB6 di win7, dan tidak ada masalah. Tapi udah lama nggak pakai vb6, karena akhir-akhir ini pakai vs.net 2008.

Nah, pas klien nya tanya masalah alur program, ya saya coba, tapi kok ada pesan ‘Error Binding’ ? (pesan error lengkapnya lupa). Langsung saya membuat List tertuduh, semua program yang berbau .NET langsung di UnInstall, eh.. ternyata masih Error..

Googling, nemu, harus meregister ulang msBind.dll dan MSSTDFMT.dll yang ada di c:\windows\system32, à Masih error

Googling lagi, sambil menuduh pasti karena di blokir AVAST, dan tuduhan saya benar, tricknya, harus masuk safe mode nya win7, safe mode with command prompt. Terus, di folder c:\windows\system32\ jalankan regsvr32 msbind.dll, dan file MSSTDFMT.dll, dan juga sekalian meregister semua OCX yang dipakai oleh Program yang saya buat, mulai dari DataGrid, Crystal32, ADO, dsb yang di pakai oleh program vb6, dan restart, hasilnya, Alhamdulillah, jalan normal.. dapat ilmu nih.. jadi sepertinya semua komponen tsb ditumpuk’i oleh .NET. jadi yang harus register manual deh.

Sekilas DTS dan Olap SQLServer 2000 SP4

25 Dec

Perhatian:

Panduan berikut hanya digunakan untuk pendidikan, gunakan software ASLI

Kebutuhan Sistem:

  • Dual Core, mem 3GB, Win7 Professional
  • UnInstall MSSQL2008 / MSSQL2005
  • Master SQL Server 2000

Instalasi SQL Server 2000

Hasil Instalasi

Studi Kasus OLTP

Sistem Informasi yang dijadikan contoh adalah sebuah sistem pembayaran hutang di sebuah perusahaan Kontraktor. Setiap proyek memiliki database proyek tersendiri, yang menyimpan data hutang mereka, data usulan pembayaran atas hutang mereka, dan data pembayaran hutang mereka. Pada contoh ini, yang ditampilkan fokus pada transaksi input hutang proyek.

Struktur Organisasi tampak dalam gambar berikut :

Dalam 1 Cabang, mengkoordinir beberapa proyek yang berjalan. Jumlah proyek dalam 1 tahun sd 200 proyek, dalam contoh ini hanya digunakan beberapa proyek saja, yang di ambil dari database proyek X dan database cabang Y

Berikut PDM Database proyek X

Berikut PDM Database Cabang Y

Desain Dimensi dan Fact Tables

Sebagai contoh, akan dibangun datawarehouse yang akan mengamati nilai hutang dari setiap proyek untuk tiap bulan, setiap vendor, berapa nilai pajak nya, dan berapa yang sudah lunas.

Desain Dimensi dan Fact tables :

Dimensi

Waktu

Proyek

Jenis Tagihan

Vendor

Tahun

Bulan

Quarter

Nama proyek

Cabang

Tahun proyek

Jenis Tagihan

Nama vendor

Kota Vendor

Fact : Data hutang :Kd_proyek, kd_jns_tgh, no_register, kd_vendor, cp, jkotor, pph, lain, jbersih, lunas

Desain PDM Database Datawarehouse

Proses ETL menggunakan SQL Server 2000 DTS (Data Transformation Service)

Tool ETL ini adalah salah satu tool untuk melakukan proses ETL, selain tool yang lain ( Pentaho Data Integration, BENETL, Self Development, ETLTOOLS, dsb).

Untuk Mendesaign, buat new packages dari modul DTS sesuai dengan gambar berikut :

Setelah package baru dibuat, langkah berikutnya adalah mendeklarasikan database sumber (OLTP), dan database tujuan (DW), yang di deklarasikan dengan menggunakan connection sesuai dengan gambar berikut :

Setelah semua Datasource (Proyek X, Cabang Y, DW )dibuat, akan muncul gambar yang menampilkan semua connection yang telah dibuat sebagai berikut :

Langkah berikutnya adalah mendesain apa yang akan di transfer ke DW, dibuat bertahap, misalnya

  1. Dari Connection Proyek X, transfer tabel proyek ke DW
  2. Dari Connection CabangY, transfer tabel proyek ke DW
  3. Dari Connection Proyek X, transfer tabel jns_tagihan ke DW
  4. Dari Connection Cabang Y, transfer tabel jns_tagihan ke DW
  5. Dari Connection Proyek X, transfer tabel Vendor ke DW
  6. Dari Connection Proyek Y, transfer tabel Vendor ke DW
  7. Dari Connection Proyek X, transfer tabel phbaru ke DW
  8. Dari Connection Cabang Y, transfer tabel Phbaru ke DW
  9. Dari Connection Cabang Y, transfer tabel chbaru ke DW

Sebagai contoh, untuk membuat task agar mentransfer proses no1, langkahnya :

Pilih ‘Transform Data Task’, hubungkan antara Proyek X dengan DW. Akan muncul Garis panah, Double Klik, sesuai dengan gambar berikut:

Dalam contoh berikut, telah dibuat 4 ‘Transform Data Task’

Langkah selanjutnya adalah menentukam urutan proses mana yang akan dilakukan dahulu, langkahnya dengan arahkan kursor ke ‘Transform data task’, klik kanan, pilih Workflow properties. Inputkan proses apa yang akan dilakukan terlebih dahulu, seperti dalam contoh berikut :

Hasil desain secara lengkap, tampak pada gambar berikut :

Langkah selanjutnya, kita bisa melakun Run Dari desain DTS yang telah kita buat melalui menu Package, Execute. Dari Hasil Running, kita bisa melakukan revisi terhadap desain kita.

OLAP Service / Analysis Services

Kita lakukan instalasi ulang sesuai dengan gambar :