Selasa, 25 November 2014

Teknik Switching pada Algoritma & Pemrograman

      Nama               : Haryo Fajar Bhagaskoro
Kelas               : 1IA17
NPM                : 54414833
Mata Kuliah     : Algoritma dan Pemrograman 1A
Dosen              : Kunto Bayu A, ST.

Definisi :
Tehnik Switching merupakan cara memperpendek jalur proses yang memakai suatu indikator untuk mengantisipasi proses yang akan dilakukan selanjutnya. Indikator ini dimisalkan seperti switch pada tombol lampu yang dapat mengatur dua kondisi yaitu nyala dan padam.

Dalam flowchart, switch merupakan variabel yang (biasanya) diisi dengan dua kondisi yaitu 0 dan 1. Melalui isi variabel tersebut dapat diketahui kondisi proses yang telah dilakukan. Sehingga dapat dilakukan pengalihan proses tanpa melalui proses sebelumnya atau mempersingkat alur proses.


Contoh Soal :
Suatu perusahaan akan membuat laporan gaji pegawainya berdasarkan golongannya. Data yang dibaca terdiri dari nomor pegawai, nama pegawai, golongan dan gaji bersih. Data yang dibaca sudah urut per golongan yang terdiri dari : golongan 1, 2, 3, 4. Jika golongan berubah maka cetak TOTAL GAJI per golongan dan ganti halaman baru serta NOMOR dimulai dari 1.
Pada akhir laporan cetak TOTAL SELURUH GAJI yaitu jumlah total gaji seluruh golongan.

Flowchart :

Database :
CREATE TABLE `gaji` (
`nopeg` varchar(10) NOT NULL,
`nama` varchar(10) NOT NULL,
`golongan` int(1) NOT NULL,
`gaji` decimal(12,0) NOT NULL,
PRIMARY KEY (`nopeg`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

Script : 
Flowchart diatas saya terjemahkan ke script. Untuk mudahnya saya menggunakan bahasa PHP + database MySQL. Script saya tulis dengan aplikasi gPHPEditKompozer dibantu dengan tool Adee HTML to PHP Converter dan Adee HTML Parser :-)


<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'server';
$dbname = 'latihan';
$sw = 0;
$tot_gaji_gol=0;
$tot_gaji_all=0;
$no=0;
$gol_current=0;
$flag_awal=0;

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error Koneksi');
mysql_select_db($dbname);

$perintah = "select * from gaji order by golongan asc";
$hasil=mysql_query($perintah);

while ($row=mysql_fetch_array($hasil)){
$nopeg=$row["nopeg"];
$nama=$row["nama"];
$golongan=$row["golongan"];
$gaji=$row["gaji"];
$no=$no+1;

if($golongan <> $gol_current) {
$gol_current = $golongan;
$sw=0;
}

//cek switch, jika 0 cetak judul & header tabel, ubah switch jadi 1
if($sw==0){
//tutup tabel
if ($flag_awal > 0) {
echo "</tbody>";
echo "</table>";
echo "Total Gaji : " . $tot_gaji_gol;
echo "<p></p>";
}
//cetak judul
echo "<strong>Tabel Gaji PT.ABC</strong>";
echo "<table style='text-align: left; width: 100%;' border='1' cellpadding='2' cellspacing='2'>";
echo "<tbody>";
echo "<tr>";
echo "<td style='vertical-align: top; background-color: rgb(204, 204, 255);'>NO<br></td>";
echo "<td style='vertical-align: top; background-color: rgb(204, 204, 255);'>NOPEG<br></td>";
echo "<td style='vertical-align: top; background-color: rgb(204, 204, 255);'>NAMA<br></td>";
echo "<td style='vertical-align: top; background-color: rgb(204, 204, 255);'>GOLONGAN<br></td>";
echo "<td style='vertical-align: top; background-color: rgb(204, 204, 255);'>GAJI<br></td>";
echo "</tr>";
$sw=1;
$flag_awal=$flag_awal+1;
$gol_current=$golongan;
$tot_gaji_gol = 0;
}

echo "<tr>";
echo "<td style='vertical-align: top;'>$no<br></td>";
echo "<td style='vertical-align: top;'>$nopeg<br></td>";
echo "<td style='vertical-align: top;'>$nama<br></td>";
echo "<td style='vertical-align: top;'>$golongan<br></td>";
echo "<td style='vertical-align: top;'>$gaji<br></td>";
echo "</tr>";
$tot_gaji_gol=$tot_gaji_gol + $gaji;
$tot_gaji_all =$tot_gaji_all + $gaji;

}
// tutup tabel
echo "</tbody>";
echo "</table>";
echo "Total Gaji : " . $tot_gaji_gol;
echo "<p></p>";
echo "Total Seluruh Gaji : " . $tot_gaji_all;

?>
Result : 
Dari penjelasan diatas, dapat kita lihat implementasi dan korelasi nyata dari soal cerita, flowchart, desain database, sampai dengan scripting. Semoga bisa mengurangi kebingungan teman-teman, karena masih banyak yang memahami teori (algoritma, etc), database, dan scripting secara parsial.

Teknik switching sebenarnya sangat sederhana, artinya kita harus bisa menentukan kapan script akan mencetak header tabel.

Berikut hasilnya :
Sumber : http://adiriswan.blogspot.com/2010/12/algoritma-pemrograman-teknik-switching.html


Tidak ada komentar:

Posting Komentar

Total Pageviews

Blogger templates

Popular Posts

Pages