Jumat, 23 Januari 2015

Ascending dan Descending



PROGRAM  PENGURUTAN
Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun
kembali humpunan obyek menggunakan aturan tertentu. Mnurut Microsoft Book-shelf,
definisi algoritma pengurutan adalah algoritma untuk meletakkan kumpulan elemen data
ke dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.
Ada dua macam urutan yang biasa digunakan dalam proses pengurutan yaitu
• urut naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling
besar
• urut turun (descending) yaitu data yang mempunyai nilai paling besar sampai paling
kecil.
Contoh : data bilangan 5, 2, 6 dan 4 dapat diurutkan naik menjadi 2, 4, 5, 6 atau diurutkan
turun menjadi 6, 5, 4, 2. Pada data yang bertipe char, nilai data dikatakan lebih kecil atau
lebih besar dari yang lain didasarkan pada urutan relatif (collating sequence) seperti
dinyatakan dalam tabel ASCII (Lampiran)
Keuntungan dari data yang sudah dalam keadaan terurutkan antara lain :
• data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk
dibetulkan, dihapus, disisipi atau digabungkan. Dalam keadaan terurutkan, kita
mudah melakukan pengeekan apakah ada data yang hilang
• melakukan komppilasi program komputer jika tabel-tabel simbol harus dibentuk
• mempercepat proses pencarian data yang harus dilakukan berulang kali.
48
Data yang diurutkan sangat bervariasi, dalam hal jumlah data maupun jenis data
yang akan diurutkan. Tidak ada algoritma terbaik untuk setiap situasi yang kita hadapi,
bahkan cukup sulit untuk menentukan algoritma mana yang paling baik untuk situasi
tertentu karena ada beberapa faktor yang mempengaruhi efektifitas algoritma pengurutan.
Beberapa faktor yang berpengaruh pada efektifitas suatu algoritma pengurutan antara
lain:
• banyak data yang diurutkan
• kapasitas pengingat apakah mampu menyimpan semua data yang kita miliki
• tempat penyimpanan data, misalnya piringan, pita atau kartu, atau media penyimpan
yang lain.
Pemilihan algoritma sangat ditentukan oleh struktur data yang digunakan. Metode
pengurutan yang digunakan dapat diklasifikasikan menjadi dua katagori yaitu :
• pengurutan internal, yaitu pengurutan dengan menggunakan larik (array). Larik
tersimpan dalam memori utama komputer
• pengurutan eksternal, yaitu pengurutan dengan menggunakan berkas (sequential
access file). Berkas tersimpan dalam pengingat luar, misalnya cakram atau pita
magnetis.
Untuk menggambarkan pengurutan dengan larik, bisa kita bayangkan semua kartu
terletak di hadapan kita sehingga semua kartu terlihat dengan jelas nomornya. Pada
penyusunan kartu sebagai sebuah berkas, kita bayangkan semua kartu kita tumpuk
sehingga hanya kartu bagian atas saja yang bisa kita lihat nomornya.
Ini adalah sebuah program urut dengan masukan 4 nama buah, yang kemudian akan di keluarkan secara berurutan berdasarkan abjad. Pengurutan dalam program ini dapat kita lakukan secara Ascending ataupun Descending. Berikut adalah Source Code dari program urut beserta gambarnya.

Berikut ini adalah contoh source code dari ascending dan descending....
Program Urut;
uses wincrt;
label
1,2;
var       x : array[0..3] of string;
y : array[0..3] of string;
pilih : char;
i : integer;

procedure Ascending;
var
i, j, tempatnya_max : integer;
max, temp : string;
begin
for j := 0 to 3 do
begin
    max := x[j];
    for i := j to 3 do
begin
     if (x[i] <= max) then
begin
       max := x[i];
       tempatnya_max := i;
end;
end;
temp := x[j];
x[j] := x[tempatnya_max];
x[tempatnya_max] := temp;
        end;
clrscr;
gotoXY(5,17); writeln('Hasil data yang telah di urut secara Ascending');
for i := 0 to 3 do
     begin
gotoxy(25,19+i); write(x[i]);
     end;

end;

procedure Descending;

var
i,j, tempatnya_min : integer;
min, temp : string;
begin
for j := 0 to 3 do
     begin
         min := x[j];
                    for i := j to 3 do
begin
    if (x[i] >= min) then
        begin
min := x[i];
tempatnya_min := i;
        end;
end;
        temp := x[j];
        x[j] := x[tempatnya_min];
        x[tempatnya_min] := temp;
end;
clrscr;
gotoXY(5,17); writeln('Hasil data yang telah di urut secara Descending');
for i := 0 to 3 do
begin
     gotoxy(25,19+i); write(x[i]);
end;
       end;


begin { Program Utama }
1 : gotoxy(5,1); writeln('Masukkan 4 nama buah');
write('Masukkan nama buah 1 : '); readln(x[0]);
write('Masukkan nama buah 2 : '); readln(x[1]);
write('Masukkan nama buah 3 : '); readln(x[2]);
write('Masukkan nama buah 4 : '); readln(x[3]);
clrscr;
for i := 0 to 3 do
begin
    y[i] := x[i];
end;
repeat
2 : gotoxy(15,15); clrEoL;
gotoXY(34,6); writeln('Urutan Awal Data');
for i := 0 to 3 do
begin
    gotoXY(41,i+7); write(y[i]);
end;
gotoXY( 5,2); write('|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |');
gotoXY( 5,3); write('| Menu : |');
gotoXY( 5,4); write('|_______________|');
gotoXY( 5,5); write('|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |');
gotoXY( 5,6); write('| 1. Ascending |');
gotoXY( 5,7); write('| 2. Descending |');
gotoXY( 5,8); write('| 3. New|');
gotoXY( 5,9); write('| 0. Quit |');
gotoXY( 5,10); write('|
_______________|');
gotoXY( 5,11); write('|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |');
gotoXY( 5,12); write('| Pilih : |');
gotoXY( 5,13); write('|_______________|');
gotoXY(17,12); pilih := readkey;
if pilih = '1' then
Ascending
else if pilih = '2' then
Descending
else if pilih = '3' then
begin
     clrscr;
     goto 1;
end
else
begin
      clrscr;
      gotoxy(15,15); write('Maaf anda hanya dapat memilih dari no 0-3');
      readkey; goto 2;
      clrscr;
end;
until pilih = '0';
end.




















Dosen Pengampuh Matakuliah
Nama                                                    : M.Ropianto, M.Kom
NIDN:                                                    : 102867804
Status                                                   : Dosen Tetap YAPISTA / STT Ibnu Sina
Pengampuh Matakuliah               : Algoritma

STT IBNU SINA BATAM
http://sttibnusinabatam.ac.id
  Penerimaan Mahasiswa Baru 2015 , 
https://docs.google.com/forms/d/11KKDWzGgo6SwHNNiQ_Hxvc3N5E2ZHv311OJa0WfVm0Q/viewform 



Penggunaan POST dan GET


Penggunaan POST dan GET

Pada pengembangan sebuah aplikasi web, developer akan di bertemu dengan beberapa opsi dalam melakukan update, insert, serta delate data pada database. Perlakuan tersebut akan di awali dengan perintah berbagai Action dan Method. Implementasi ketika user memasukkan data ke dalam form inputan. Yang kemudian akan dilanjutkan pada proses pengolahan dimana setelah itu hasil dari olahan akan di inputkan ke dalam database. Maka dari itulah pemilihan fungsi method yang dibutuhkan harus di perhatikan. Terdapat dua jenis method yaitu POST dna GET. Kedua method ini bekerja, ketika user menekan tombol submit denagn Action yang tekah di setting sebelumnya. Dalam implementasi kasusnya seperti :

Contoh implementasi penggunaan methode GET. Buat satu file html bernama index.html:
 <html><head><title>Isi Buku tamu</title></head>
<body>
  <form action=get.php method=get>
  <table border=0>
    <tr><td>Nama : </td><td><input type=text></td></tr>
    <tr><td>Email :</td><td><input type=text></td></tr>
    <tr><td>Homepage : </td><td><input></td></tr>
    <tr><td>Isi :</td><td><textarea name=isi cols=25 rows=6></textarea></td></tr>
    <tr><td></td><td><input type=submit value=Kirim></td></tr>
  </table></form>
</body>
</html>

Dan get.php :
<?php
echo $_GET['nama'].”<br>”.$_GET['email'].”<br>”.$_GET['isi']
?>

Dengan metode GET terlihat url pada browser menjadi super panjang, ini terjadi akibat dari variabel yang dihasilkan oleh form inputan kembali ditampilkan beserta isiya. Hal ini jelas memiliki dampak kelemahan karena umumnya browser hanya dapat memperlihatkan dan mengambil karaker sebesar 256 karakter dari address bar. Hal  ini juga berpengaruh pada data yang akan disimpan dan diolah dalam database.

Maka itulah, permasalahan di atas dapat ditangani dengan metode POST. Contoh implementasinya  buat file bernama index2.html :
<html>
<head><title>Isi Buku tamu</title></head>
<body>
     <form action=post.php method=post>
        <table border=0>
            <tr><td>Nama : </td><td><input type=text></td></tr>
            <tr><td>Email :</td><td><input type=text></td></tr>
            <tr><td>Homepage : </td><td><input></td></tr>
            <tr><td>Isi :</td><td><textarea name=isi cols=25 rows=6></textarea></td></tr>
            <tr><td></td><td><input type=submit value=Kirim></td></tr>
        </table>
     </form>
</body>
</html>

Dan satu lagi halaman post.php berisi :
<?php
echo $_POST['nama'].”<br>”.$_POST['email'].”<br>”.$_POST['homepage'].”<br>”.$_POST['isi'];
?>

Jika user memasukkan data melalui form input yang ada di index2.html, maka hasil yang dikirimkan dengan method post tidak akan ditampilkan di address bar, namun tetap tersimpan dalam memory, untuk mengambilnya cukup dengan menggunakan variable $_POST[‘variable’], hal ini tentunya dapat mencegah url yang terlihat kotor, berantakan, dan penuh dengan noda-noda.

Sehingga dapat disimpulkan, Perbedaaan Method POST dan GET dalam URL dan protokol HTPP adalah Methode GET melakukan pengiriman data ke server menjadi bagian URL (dengan panjang URL terbatas hingga 1024 bytes sehingga parameter dan nilai yang dikirim dalam methode ini menjadi terbatas. Sedangkan dalam methode POST parameter dan nilai yang dikirim server menjadi bagian dari message body hingga data yang dikirimkan menjadi lebih besar
 
Download Berkas Disini

Dosen Pengampuh Matakuliah
Nama                                                    : M.Ropianto, M.Kom
NIDN:                                                    : 102867804
Status                                                   : Dosen Tetap YAPISTA / STT Ibnu Sina
Pengampuh Matakuliah               : Algoritma
STT IBNU SINA BATAM
  Penerimaan Mahasiswa Baru 2015 ,