Kamis, 20 November 2014

Penerapan Konsep Tabel dan Teknik Switching pada Algoritma Pemrograman

Nama : Akmal Alfarisi
Kelas : 1IA17
NPM : 50414710
Mata Kuliah : Algoritma & Pemrograman 1A
Dosen : Kunto Bayu A,ST

PENERAPAN KONSEP TABEL

I. Argumen Dan Fungsi

Tabel merupakan data pembantu dalam pengolahan data.
Misalnya, dalam suatu lembar dokumen terdapat data pegawai sebagai berikut :



Dari data pegawai tersebut tidak dapat diketahui nama setiap pegawai.
Untuk itu dapat dibuat suatu table yang berisi khusus untuk nama pegawai seperti yang terlihat berikut ini.



Item NIP merupakan item yang dipakai sebagai acuan untuk mencari data nama pegawai didalam table.
Item ini berfungsi sebagai control field, yang sering disebut sebagai ARGUMEN.
Sedangkan item NAMA merupakan FUNCTION dari table tersebut.

II. Penggunaan Storage Untuk Penyimpanan Tabel

Data didalam media penyimpanan seperti disk, kartu, dokumen, dan lain-lain yang berfungsi sebagai table disebut external table.

Dalam proses pengolahan data, external table ini sebaiknya dipindahkan ke memori agar proses menjadi cepat.
Didalam memori external table menempati lokasi yang disebut storage.
Di storage ini terbentuk suatu table yang disebut sebagai internal table.
Selanjutnya proses pengolahan menggunakan internal table.

Oleh karena itu, pada awal proses pengolahan data harus di susun terlebih dahulu proses untuk memindahkan external table ke dalam storage sehingga terbentuk internal tabel.

Dibawah ini terlampir flowchart yang memperlihatkan proses pembentukan internal tabel. Tabel ini dibentuk berdasarkan external tabel pada pembahasan sebelumnya yaitu TABEL NAMA PEGAWAI.
Data dari external tabel diinput melalui keyboard dan proses input berakhir jika operator mengetik 0 untuk NIP.



Perhatikan flowchart diatas.
Terlihat bahwa setiap data yang dibaca dari external tabel disimpan didalam NIPTAB(I) dan NMTAB(I).
Variabel ini merupakan variabel berindeks atau sering disebut sebagai variabel array.

Variabel array merupakan satu variabel dengan beberapa tempat penyimpanan. Gambar dibawah ini memperlihatkan ilustrasi variabel array NIPTAB.



Penyimpanan ke dalam variabel array NIPTAB dilakukan berdasarkan nilai indeksnya.
Pada flowchart di atas nilai indeks ditentukan melalui variabel I. Pada saat data NIP pertama diinput, nilai I = 1.
Dengan demikian NIP yang pertama diinput disimpan didalam variabel NIPTAB(1), demikian seterusnya.
Sehingga terbentuk variabel NIPTAB dan NMTAB dengan isi seperti yang terlihat dibawah ini.



III. Proses Pencarian ( Searching )

Proses pencarian (searching) didalam internal tabel dilakukan dengan berpatokan pada nilai indeksnya.
Misalnya untuk mencari nama pegawai dengan NIP = 10203 maka dapat digambarkan melalui flowchart berikut :



Flowchart di atas disusun dengan asumsi internal tabel telah terbentuk. Proses pencarian nama pegawai dapat diurutkan sebagai berikut :

1. Pada awal proses, variabel NO diisi nilai sesuai dengan NIP yang akan dicari. Sedangkan variabel I digunakan sebagai indeks untuk menentukan posisi variabel array internal tabel.

2. Nilai I ditambah 1.

3. Periksa isi variabel NIPTAB dengan lokasi sesuai indeks pada variabel I.

Jika isinya sama dengan isi variabel NO, lakukan :

• cetak isi variabel NMTAB dengan lokasi sesuai indeks pada variabel I
• proses selesai. Sebaliknya, jika isinya tidak sama lakukan langkah 4

4. Kembali ke langkah 2

Contoh :

Dalam suatu lembar dokumen terdapat data Gaji Pegawai dan Tabel Nama Pegawai




Jika Gaji dihitung berdasarkan GAJI POKOK + TUNJANGAN, maka buat flowchart untuk mencetak laporan seperti berikut :




TEKNIK SWITCHING

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.
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 :



Script : 
Flowchart diatas dijemahkan ke script. Untuk mudahnya gunakan bahasa PHP + database MySQL. Script ditulis dengan aplikasi gPHPEdit, Kompozer 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.
Teknik switching sebenarnya sederhana, artinya kita harus bisa menentukan kapan script akan mencetak header tabel.

Berikut hasilnya :



Sumber :


Rabu, 12 November 2014

Perempuan Perokok

Nama : Akmal Alfarisi
Kelas : 1IA17
NPM : 50414710
Mata Kuliah : Ilmu Sosial Dasar
Dosen : Pipit Fitriyah




Pada zaman sekarang ini banyak sekali masalah-masalah social yang terjadi di sekitar, dan yang akan saya bahas kali ini adalah tentang “ Maraknya Merokok di Kalangan Perempuan “.

Selasa, 11 November 2014

Quick Sort

Nama : Akmal Alfarisi
Kelas : 1IA17
NPM : 50414710
Mata Kuliah : Algoritma & Pemrograman 1A
Dosen : Kunto Bayu A,ST


Pada pembahasan kali saya akan menjelaskan khusus tentang Quick Sort.

Sebelumnya saya akan menjelaskan sedikit tentang Quick Sort.

Metode quick sort adalah suatu metode pengurutan yang menggunakan partisi.

Rabu, 05 November 2014

Warga Negara dan Negara


Nama : Akmal Alfarisi
Kelas : 1IA17
NPM : 50414710
Mata Kuliah : Ilmu Sosial Dasar
Dosen : Pipit Fitriyah

1. Hukum Negara Dan Pemerintahan

1.1. Pengertian Hukum



Hukum adalah sistem yang terpenting dalam pelaksanaan atas rangkaian kekuasaan kelembagaan.

Pemuda dan Sosialisasi

Nama : Akmal Alfarisi
Kelas : 1IA17
NPM : 50414710
Mata kuliah : Ilmu Sosial Dasar
Dosen : Pipit Fitriyah

1. Internalisasi Belajar dan Spesialisasi


Pengertian Pemuda

       ialah kita ketahui bahwa pemuda atau generasi muda merupakan konsep-konsep yang selalu dikaitkan dengan masalah nilai. hal ini merupakan pengertian idiologis dan kultural daripada pengertian ini. Di dalam masyarakat pemuda merupakan satu identitas yang potensial sebagai penerus cita-cita perjuangan bangsa dan sumber insani bagi pembangunan bangsanya karma pemuda sebagai harapan bangsa dapat diartikan bahwa siapa yang menguasai pemuda akan menguasai masa depan.