Senin, 23 Mei 2016

Convert RGB To Black White With Mathlab


Mari kita praktekkan pelajaran kita hari ini.
Disini kita akan mencoba untuk mempraktekkan cara membuat aplikasi konversi RGB ke Black White dengan menggunakan Mathlab. Langsung saja Ga usah lama-lama langsung kita coba sesuai urutan berikut. Kalau sulit lihat saja tutorialnya di Youtube. Link ada di bawah yaaaaa.


Langkah 1. 
Mambuat Rancangan dengan GUI seperti berikut ini :
Kali ini sayang menggunakan 2 buah Text, 2 buah axis dan 3 buah button. Letakkan kira-kira seperti gambar dibawah ini.

Gambar 1. Langkah Membuat Rancangan (Layout)

Langkah 2. 
Running Test bentuk rancangan 

Gambar 2. Hasil Running Rancangan Layout
Langkah 3. 
Membuat Skrip untuk tombol buka yang berfungsi mengambil gambar. Skrip dibuat pada Callback button 1.
Gambar 3. Mengambil Gambar dengan Tombol Buka

Langkah 4. 
Mencoba untuk memilih gambar untuk ditampilkan pada Axes1 dengan menggunakan tombol buka (button1)


Gambar 4. Hasil dari Mengambil Gambar di Axes1
Langkah 5.
Membuat skrip untuk mengkonversi gambar warna dari RGB ke B/W pada tombol 2 (button2). Kemudian test dengan mengklik tombol Proses sehingga dihasilkan gambar seperti berikut :

Gambar 5. Hasil dari Konversi ke Black White

Berikut skrip program lengkapnya.

Skrip Program :
function varargout = KonversiRGBtoBW(varargin)
% KONVERSIRGBTOBW M-file for KonversiRGBtoBW.fig


% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @KonversiRGBtoBW_OpeningFcn, ...
                   'gui_OutputFcn',  @KonversiRGBtoBW_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before KonversiRGBtoBW is made visible.
function KonversiRGBtoBW_OpeningFcn(hObject, eventdata, handles, varargin)


% Choose default command line output for KonversiRGBtoBW
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes KonversiRGBtoBW wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = KonversiRGBtoBW_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[namafile, namadirektori] = uigetfile(...
{'*.bmp;*.jpg','File gambar(*.bmp,*.jpg)';...
'*.bmp','File Bitmap(*.bmp)';...
'*.jpg','File JPEG(*.jpg)';...
'*.*','Semua File(*.*)'},...
'Buka File Gambar Asli');

if ~isequal(namafile,0)
handles.dataGambar=imread(fullfile(namadirektori,namafile));
guidata(hObject,handles);
handles.dataGambar2=handles.dataGambar;
axes(handles.axes1);
imshow(handles.dataGambar2);
else
return;
end


% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
dataGambarProses=(handles.dataGambar);
dataGambarProsesBlackWhite=im2bw(dataGambarProses);
axes(handles.axes2);
imshow(dataGambarProsesBlackWhite);


% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close();

Video Tutorial Konversi RGB ke Black White







Kamis, 19 Mei 2016

Membuat File XML dengan PHP menggunakan Dreamweaver CS4

Pada artikel kali ini kita akan belajar bersama membuat file XML menggunakan PHP. Skrip PHP ini akan membaca database mysql. Pada latihan kali ini saya menggunakan WAMPServer sebagai Web Server dan PHPMyAdmin sebagai server databasenya.

Berikut Skripnya :

sambung.php
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"

$hostname_sambung = "localhost";
$database_sambung = "dw_bookstore";
$username_sambung = "root";
$password_sambung = "";
$sambung = mysql_pconnect($hostname_sambung, $username_sambung, $password_sambung) or trigger_error(mysql_error(),E_USER_ERROR);
?>


show.php
<?php require_once('Connections/sambung.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}


$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO authors (au_id, au_lname, au_fname, phone, address, city, `state`, zip) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['au_id'], "text"),
                       GetSQLValueString($_POST['au_lname'], "text"),
                       GetSQLValueString($_POST['au_fname'], "text"),
                       GetSQLValueString($_POST['phone'], "text"),
                       GetSQLValueString($_POST['address'], "text"),
                       GetSQLValueString($_POST['city'], "text"),
                       GetSQLValueString($_POST['state'], "text"),
                       GetSQLValueString($_POST['zip'], "text"));

  mysql_select_db($database_sambung, $sambung);
  $Result1 = mysql_query($insertSQL, $sambung) or die(mysql_error());

  $insertGoTo = "show.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_sambung, $sambung);
$query_rsAuthor = "SELECT * FROM authors";
$rsAuthor = mysql_query($query_rsAuthor, $sambung) or die(mysql_error());
$row_rsAuthor = mysql_fetch_assoc($rsAuthor);
$totalRows_rsAuthor = mysql_num_rows($rsAuthor);
//---------------------------------------------------------------------
        $namaTabel = 
"authors";
        $query = "SELECT * FROM $namaTabel";
        $hasil = mysql_query($query);
        $jumField = mysql_num_fields($hasil);
        $sites = array();

        while ($data = mysql_fetch_array($hasil))
        {
            $sites [] = array('au_id' => $data['au_id'],
                              'au_lname' => $data['au_lname'],
                              'au_fname' => $data['au_fname'],
                              'phone' => $data['phone'],
                              'address' => $data['address'],
                              'city' => $data['city'],
                              'state' => $data['state'],
                              'zip' => $data['zip']);
        }

        // 5. PARSING DATA SQL -> XML Document : print_r($sites);
        $document = new DOMDocument();
        $document->formatOutput = true;

        $root = $document->createElement( "data" );
        $document->appendChild( $root );

        foreach( $sites as $book )
        {
            $block = $document->createElement( "authors" );
//------------------------------------------------------
            $au_id = $document->createElement( "au_id" );
            $au_id->appendChild(
            $document->createTextNode( $book['au_id'] )
            );
            $block->appendChild( $au_id );
//------------------------------------------------------
            $au_lname = $document->createElement( "au_lname" );
            $au_lname->appendChild(
            $document->createTextNode( $book['au_lname'] )
            );
            $block->appendChild( $au_lname );
//------------------------------------------------------
            $au_fname = $document->createElement( "au_fname" );
            $au_fname->appendChild(
            $document->createTextNode( $book['au_fname'] )
            );
            $block->appendChild( $au_fname);
//------------------------------------------------------
            $phone = $document->createElement( "phone" );
            $phone->appendChild(
            $document->createTextNode( $book['phone'] )
            );
            $block->appendChild( $phone );
//------------------------------------------------------
            $address = $document->createElement( "address" );
            $address->appendChild(
            $document->createTextNode( $book['address'] )
            );
            $block->appendChild( $address );
//------------------------------------------------------
            $city = $document->createElement( "city" );
            $city->appendChild(
            $document->createTextNode( $book['city'] )
            );
            $block->appendChild( $city );
//------------------------------------------------------
            $state = $document->createElement( "state" );
            $state->appendChild(
            $document->createTextNode( $book['state'] )
            );
            $block->appendChild( $state );
//------------------------------------------------------
            $zip = $document->createElement( "zip" );
            $zip->appendChild(
            $document->createTextNode( $book['zip'] )
            );
            $block->appendChild( $zip );
//------------------------------------------------------
            $root->appendChild( $block );
            }

            // 6. MENYIMPAN DATA DALAM BENTUK FILE LinkAuthors.xml
            $document->save("LinkAuthors.xml");



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<p>&nbsp;</p>
<h1 align="center">Praktikum Webservice</h1>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Au_id:</td>
      <td><input type="text" name="au_id" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Au_lname:</td>
      <td><input type="text" name="au_lname" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Au_fname:</td>
      <td><input type="text" name="au_fname" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Phone:</td>
      <td><input type="text" name="phone" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Address:</td>
      <td><input type="text" name="address" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">City:</td>
      <td><input type="text" name="city" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">State:</td>
      <td><input type="text" name="state" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Zip:</td>
      <td><input type="text" name="zip" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Insert record" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
<p align="center">File dalam bentuk XML dengan nama file <a href="LinkAuthors.xml">LinkAuthors.xml</a></p>
<table border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <th bgcolor=
"#FFCC66">au_id</th>
    <th bgcolor="#FFCC66">au_lname</th>
    <th bgcolor="#FFCC66">au_fname</th>
    <th bgcolor="#FFCC66">phone</th>
    <th bgcolor="#FFCC66">address</th>
    <th bgcolor="#FFCC66">city</th>
    <th bgcolor="#FFCC66">state</th>
    <th bgcolor="#FFCC66">zip
</th>
  </tr>
  <?php do { ?>
    <tr>
      <td><?php echo $row_rsAuthor['au_id']; ?></td>
      <td><?php echo $row_rsAuthor['au_lname']; ?></td>
      <td><?php echo $row_rsAuthor['au_fname']; ?></td>      
      <td><?php echo $row_rsAuthor['phone']; ?></td>
      <td><?php echo $row_rsAuthor['address']; ?></td>
      <td><?php echo $row_rsAuthor['city']; ?></td>
      <td><?php echo $row_rsAuthor['state']; ?></td>
      <td><?php echo $row_rsAuthor['zip']; ?></td>
    </tr>
    <?php } while ($row_rsAuthor = mysql_fetch_assoc($rsAuthor)); ?>
</table>
<p align="center">File dalam bentuk XML dengan nama file <a href="LinkAuthors.xml">LinkAuthors.xml</a></p>
</body>
</html>

<?php
mysql_free_result($rsAuthor);
?>



Sebenarnya tutorialnya sudah saya buat dan saya upload di youtube, sehingga anda tinggal menonton saja. Mungkin tutorialnya masih biasa saja yang penting bisa membantu kita belajar. Ada 5 buah tutorial yang kami suguhkan secara berurutan. Berikut linknya silakan di tonton.






















Rabu, 18 Mei 2016

Konversi Warna RGB ke Gray Scale Dengan Mathlab

Pada kesempatan kali ini saya mencoba untuk belajar membagi pengetahuan yang sedikit saya miliki. Pada kesempatan ini kita akan mencoba membuat konversi warna RGB ke Gray dengan menggunakan Mathlab sebagai program aplikasi. Kita akan menggunakan GUI agar lebig gampang dalam membuat model aplikasi dengan Mathlab ini.

Langkah yang harus kita lakukan adalah sebagai berikut :
  • Masuk ke program Aplikasi Mathlab.
    Kemudian kita pilih Tab GUI untuk membuat rancangan antarmuka.
  • Test Aplikasi.
  • Melakukan penulisan skrip program 
 
Gambar 1. Rancangan Antar Muka


Gambar 2. Hasil Antar Muka

Gambar 3. Mengambil Gambar

Gambar 4. Hasil Mengambil Gambar

Gambar 5. Hasil Konversi RGB ke Gray
Skrip Program :


function varargout = RGBtoGray(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @RGBtoGray_OpeningFcn, ...
                   'gui_OutputFcn',  @RGBtoGray_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before RGBtoGray is made visible.
function RGBtoGray_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);

% --- Outputs from this function are returned to the command line.
function varargout = RGBtoGray_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
    [namafile, namadirektori] = uigetfile(...
    {'*.bmp;*.jpg','File gambar(*.bmp,*.jpg)';...
    '*.bmp','File Bitmap(*.bmp)';...
    '*.jpg','File JPEG(*.jpg)';...
    '*.*','Semua File(*.*)'},...
    'Buka File Gambar Asli');

if ~isequal(namafile,0)
    handles.dataGambar=imread(fullfile(namadirektori,namafile));
    guidata(hObject,handles);
    handles.dataGambar2=handles.dataGambar;
    axes(handles.axes1);
    imshow(handles.dataGambar2);
else
return;
end

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
dataGambarProses=(handles.dataGambar);
dataGambarProsesGray=rgb2gray(dataGambarProses);
axes(handles.axes2);
imshow(dataGambarProsesGray);

% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
close();


Dalam praktek kali ini kami juga membuat Video tutorialnya di Youtube seperti berikut :