Monday 29 October 2012

Koding Program Sorting Array dengan Urutan Ascending


Program Sorting Array dengan Urutan Ascending

program sorting;
uses crt;

const
     nmax = 50;
type
    rdata = record
         nim      : integer;
         nama     : string[30];
         alamat   : string[50];
         end;
    aData = array [1..nmax] of rdata;


var
{variabel global}
    data         : aData;
    plh, ch      : char;
    x            : integer;

{fungsi menu awal}
function menu : char;
var
   c : char;
begin
     clrscr;
     writeln('--- Program Sorting Array dengan Urutan Ascending ---');
     writeln;
     writeln('1: Insertion Sort');
     writeln('2: Selection Sort');
     writeln('3: Bubble Sort');
     writeln('4: Keluar Program');
     repeat
           writeln;
           write('Pilih >> ');
           c := readkey;
           writeln(c);
           if not (c in ['1'..'4']) then
              writeln('Pilihan salah ...');
     until(c in ['1'..'4']);
     menu := c;
end;

procedure inputData(var A : aData; var n : integer);
var
   i : integer;
begin
     repeat
           write('Berapa banyak data? ');
           readln(n);
           if n>0 then
           begin
                writeln;
                for i:=1 to n do
                begin
                     writeln('Mahasiswa ke-',i);
                     write('NIM    : '); readln(data[i].nim);
                     write('Nama   : '); readln(data[i].nama);
                     write('Alamat : '); readln(data[i].alamat);
                     writeln;
                end;
           end
           else
               writeln('Input salah...')
     until(n>0);
end;

{prosedur Insertion Sort}
procedure iS(var A : aData; var ndata : integer);
var
   temp,i,j : integer;
   temp2,temp3 : string[50];
begin
     clrscr;
     writeln('Input Data Insertion Sort');
     writeln;
     inputData(A,ndata);
     {rutin kode}
     for i:=2 to ndata do
     begin
          temp := A[i].nim;
          temp2 := A[i].nama;
          temp3 := A[i].alamat;

          j := i-1;
          while ((temp<A[j].nim) and (j>=1)) do
          begin
               A[j+1].nim := A[j].nim;
               A[j+1].nama := A[j].nama;
               A[j+1].alamat := A[j].alamat;
               j := j-1;
          end;
          A[j+1].nim := temp;
          A[j+1].nama := temp2;
          A[j+1].alamat := temp3;
     end;
end;

{prosedur untuk tukar data}
procedure tukar(i,j : integer);
var
   temp : integer;
   temp2 : string[50];
begin
     temp := data[i].nim;
     data[i].nim := data[j].nim;
     data[j].nim := temp;

     temp2 := data[i].nama;
     data[i].nama := data[j].nama;
     data[j].nama := temp2;

     temp2 := data[i].alamat;
     data[i].alamat := data[j].alamat;
     data[j].alamat := temp2;
end;

{prosedur Selection Sort}
procedure sS(var A : aData; var ndata : integer);
var
   i,j,pos : integer;
begin
     clrscr;
     writeln('Input Data Selection Sort');
     writeln;
     inputData(A,ndata);

     {rutin kode}
     for i:=1 to ndata-1 do
     begin
          pos := i;
          for j:=i+1 to ndata do
              if (A[pos].nim > A[j].nim) then
                 pos := j;
          if (pos<>i) then
             tukar(pos,i);
     end;
end;

{prosedur Bubble Sort}
procedure bS(var A : aData; var ndata : integer);
var
   i,j : integer;
begin
     clrscr;
     writeln('Input Data Bubble Sort');
     writeln;
     inputData(A,ndata);

     {rutin kode}
     for i:=1 to ndata-1 do
         for j:=ndata downto i+1 do
             if (A[j].nim < A[j-1].nim) then
                  tukar(j,(j-1));
end;

{prosedur tampil data yang terurut Ascending}
procedure showUrut(A : aData; var ndata : integer);
var
   i : integer;
begin
     clrscr;
     writeln('Tampilan Data Terurut');
     writeln;
     for i:=1 to ndata do
     begin
          writeln('NIM    : ',A[i].nim);
          writeln('Nama   : ',A[i].nama);
          writeln('Alamat : ',A[i].alamat);
          writeln;
     end;
end;

{program utama}
begin
     repeat
           plh := menu;
           case plh of
                '1' : iS(data,x);
                '2' : sS(data,x);
                '3' : bS(data,x);
                '4' : exit;
           end;

           writeln;
           writeln('Next >> Tampilan setelah data diurutkan...');
           write('Tekan sembarang karakter untuk berikutnya...') ;
           readkey;
           showUrut(data,x);
           repeat
                 writeln;
                 write('Tekan >> 1: Kembali ke Menu, 0: Keluar Program');
                 ch := readkey;
                 if not (ch in ['1','0']) then
                    writeln(' >> Pilihan salah...');
           until(ch in ['1','0']);
     until(ch = '0');
end.

Koding Program Pencarian data Nomor_induk pegwai


Pencarian data didasarkan pada Nomor_induk pegwai

program searching;
uses crt;
label h, z, g, f;
const max=100;
type pegawai=record
     nomor         : integer;
     nama          : string[30];
     bagian        :string[20];
     gaji          :integer;
end;
tabel=array[1..max] of pegawai;
tabel_1=array[1..max] of integer;
var
 a:tabel;
 b:tabel_1;
 n:integer;
 ni:integer;
 i, j, temp:integer;
 p:char;
 pilih:integer;

procedure cari(a:tabel; n:integer; x:integer; var isearch:integer);
var
 i:integer;
begin
 if(n=0) then isearch:=0 else
 begin
  i:=1;
  while ((a[i].nomor<x) and (i<n)) do
  i:=i+1;
  if (a[i].nomor=x) then
  begin
   writeln('Data yang dicari : ');
   writeln('Nomor pegawai : ', a[i].nomor);
   writeln('Nama pegawai : ', a[i].nama);
   writeln('Bagian : ', a[i].bagian);
   writeln('Gaji : ', a[i].gaji);
  end
  else
   writeln('Data tidak ditemukan');
 end;
end;

procedure biner(a:tabel; n:integer; x:integer; var isearch:integer);
var
 bawah, atas:integer;
 tengah:integer;
 found:boolean;
begin
  if (n=0) then isearch:=0 else
  begin
   bawah:=1;
   atas:=n;
   found:=false;
   while ((not found) and (atas>=bawah)) do
   begin
    tengah:=(bawah+atas) div 2;
    if (a[tengah].nomor=x) then
     found:=true
    else
    if (a[tengah].nomor>x) then
     atas:=tengah-1
    else
     bawah:=tengah+1;
   end;
   if found then
   begin
    isearch:=tengah;
    writeln('Data yang dicari : ');
    writeln('Nomor pegawai : ',a[i].nomor);
    writeln('Nama pegawai  : ',a[i].nama);
    writeln('Bagian        : ',a[i].bagian);
    writeln('Gaji          : ',a[i].gaji);
   end;
 end;
end;
  begin
   h:clrscr;
   writeln;
   writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
   writeln('------ SEARCHING DATA ------');
   writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
   writeln;
   writeln;
   write('Banyaknya data pegawai : ');readln(n);
   writeln;
   for i:=1 to n do
   begin
    write('Nomor pegawai ke-',i,' : '); readln(a[i].nomor);
    write('Nama pegawai ke-',i,'  : '); readln(a[i].nama);
    write('Bagian ke-',i,'        : '); readln(a[i].bagian);
    write('Gaji ke-',i,'          : '); readln(a[i].gaji);
    writeln;
   end;
   z:
   writeln;
   writeln('*****************************');
   writeln('------- MENU SEARCHING ------');
   writeln('*****************************');
   writeln;
   writeln('1. Pencarian Sekuensial');
   writeln('2. Pencarian Biner     ');
   writeln('3. Exit');
   write('Pilihan : '); readln(pilih);
   writeln;
  case pilih of
  1:begin
    clrscr;
    g:
    writeln;
    writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
    writeln('****** PENCARIAN SEKUENSIAL ******');
    writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
    writeln;
    for i:=1 to n-1 do
    begin
     for i:=1 to n-i do
     begin
      if (a[j].nomor) > (a[j+i].nomor) then
      begin
       temp:=a[j].nomor;
       a[j].nomor:=a[j+1].nomor;
       a[j+1].nomor:=temp;
      end;
     end;
    end;
    writeln('Masukkan nomor pegawai yang ingin disearching : '); readln(ni);
    writeln;
    cari(a,n,ni,i);
    writeln;
    write('Ingin cari lagi ? (Y/T) : '); readln(p);
    if (p='Y') or (p='y') then goto g;
    goto z;
    writeln;
    end;
  2:begin
    clrscr;
    f:
    writeln;
    writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
    writeln('****** PENCARIAN BINER ******');
    writeln('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
    writeln;
    for i:=1 to n-1 do
    begin
     for j:=1 to n-1 do
     begin
      if (a[j].nomor) > (a[j+1].nomor) then
      begin
       temp:=a[j].nomor;
       a[j].nomor:=a[j+1].nomor;
       a[j+1].nomor:=temp;
      end;
     end;
    end;
    writeln;
    writeln('Masukkan nomor pegawai yang ingin disearching : '); readln (ni);
    writeln;
    biner(a,n,ni,i);
    writeln;
    write('Ingin cari lagi ? (Y/T) : '); readln(p);
    if (p='Y') or (p='y') then goto f;
    goto z;
    writeln;
    end;
  3:begin
    writeln('Program diakhiri');
    writeln;
    end
    else
    writeln('Pilihan Salah');
    for i:=1 to n do
    begin
     delay(5000);
    end;
    goto h;
  end;
  readkey;
end.

Bisnis proses berobat ke dokter


Bisnis proses berobat ke dokter :

  1. Pasien datang ke tempat praktek dokter.
  2. Pasien mendaftar pada staf dokter
  3. Staf dokter memninta kartu berobat
  4. Bila pasien baru pertama kali datang, pasien harus membuat kartu berobat, bila sudah pernah dan telah membuat kartu erobat pasien boleh mendaftar.
  5. Staf dokter memberikan nomor urut antrian pada pasien.
  6. Staf dokter mencatat keluhan pasien pada medical record (catatan pengobatan).
  7. Pasien menunggu di panggil
  8. Staff menyerahkan medical record pada dokter.
  9. Staff dokter memanggil nomer urut pasien
  10. Pasien masuk keruangan dokter
  11. Dokter memeriksa pasien
  12. Dokter mencatat keluhan pasien pada medical record
  13. Dokter memberikan resep
  14. Pasien selesai di periksa
  15. Pasien menyerahkan resep dokter ke apotek.
  16. Apoteker mencari obat
  17. Apoteker meracik obat sesuai dengan resep
  18. Apoteker mencata obat yang diberikan sebagai catatan stok obat.
  19. Apoteker memberikan obat pada pasien.
  20. Pasien membayar obat
  21. Pasien pulang


Thursday 25 October 2012

Mengubungkan Database Dengan Aplikasi Sederhana

PHP  (akronim  dari  PHP  Hypertext  Preprocessor)  yang  merupakan  bahasa  pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis.
PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah  yang  kita  berikan  akan  sepenuhnya  dijalankan  oleh  server  tetapi  disertakan  pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.
Pada  prinsipnya  server  akan  bekerja  apabila  ada  permintaan  dari  client.  Dalam  hal  ini  client menggunakan  kode-kode  PHP  untuk  mengirimkan  permintaan  ke  server  (dapat  dilihat  pada gambar dibawah). Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut :
  Membaca permintaan dari client/browser
  Mencari halaman/page di server
  Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
  Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.
Syntax PHP
Kode  PHP  disimpan  sebagai  plain  text  dalam  format  ASCII,  sehingga  kode  PHP  dapat  ditulis  hampir  di semua editor text seperti windows notepad, windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser. 
Contoh file PHP (contoh.php):
<html>
   <?  
Print ("Contoh text yang menggunakan kode PHP"); 
   ?>
</html>
Pada file .html, HTTP server hanya melewatkan content dari file menuju ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu adalah tugas sebuah browser. 
Pada  file  dengan  ekstensi  .php  akan  ditangani  secara  berbeda.  Yang  memiliki  kode  PHP  akan diperiksa. Web server akan memulai bekerja apabila berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati semua content yang berisi kode HTML, CSS, JavaScript, simple
text di browser tanpa diinterpretasikan di server.
Blok scripting PHP selalu diawali dengan <?php dan diakhiri dengan ?>. Blok scripting PHP dapat ditempatkan  dimana  saja  di  dalam  dokumen.  Pada  beberapa  server  yang  mendukung,  blok scripting  PHP  dapat  diawali  dengan  <?  dan  diakhiri  dengan  ?>.  Namun,  untuk  kompatibilitas maksimum, sebaiknya menggunakan bentuk yang standar (<?php ?>).
Setiap  baris  kode  PHP  harus  diakhiri  dengan  semikolon  (;).  Semikolon  ini  merupakan  separator yang digunakan untuk membedakan satu instruksi dengan instruksi lainnya.
PHP  menggunakan  //  untuk  membuat  komentar  baris  tunggal  atau  /*  dan  */  untuk  membuat suatu blok komentar
Variabel PHP
Variabel  digunakan  untuk  menyimpan  suatu  nilai,  seperti  text,  angka  atau array.  Ketika  sebuah variabel dibuat, variabel tersebut dapat dipakai berulang-ulang.
Pada  PHP  semua  variabel  harus  dimulai  dengan  karakter  '$'.  Variabel  PHP  tidak  perlu dideklarasikan  dan  ditetapkan    jenis  datanya  sebelum  kita  menggunakan  variabel  tersebut.  Hal itu  berarti  pula  bahwa  tipe  data  dari  variabel  dapat  berubah  sesuai  dengan  perubahan  konteks  yang dilakukan oleh user. Secara tipikal, variabel PHP cukup diinisialisasikan dengan memberikan nilai kepada variabel tersebut.
Contoh berikut akan mencetak "PHP" :
$text = "PHP";
print "$text";
Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text merupakan variabel yang berbeda. Built-in  function  dan  structure  tidak  case-sensitive,  sehingga  echo  dengan  ECHO  akan  mengerjakan  perintah  yang  sama.  Identifier  dapat  berupa  sejumlah  huruf,  digit/angka,  underscore,  atau  tanda  dollar tetapi identifier tidak dapat dimulai dengan digit/angka.
Aturan Penamaan Variabel
  Nama variabel harus diawali dengan sebuah huruf atau garis bawah (underscore) “_” 
  Nama variabel hanya boleh mengandung karakter alpha-numeric dan underscore (a-Z, 0-9, dan _ ) 
  Nama variabel tidak boleh mengandung spasi

Tuesday 23 October 2012

Bisnis proses pendaftaran program professional

Bisnis proses pendaftaran program professional

  1. Kordinator PP mengadakan briefing PP. 
  2. Mahasiswa membayar uang pendaftaran PP. 
  3. Mahasiswa membuat PP. 
  4. Mahasiswa mengumpulkan Proposal pada staf jurusan. 
  5. Staf jurusan mencatat proposal yang masuk. 
  6. Koridnator pp menyaring judul proposal dan menentukan dosen pembingbing dan menempelkan pengumuman. 
  7. Mahasiwa melihat pengumuman 
  8. Bila judul di tolak mahasiswa membuat proposal barul lalu di kumpulkan pada jurusan.
  9. Bila diterima mahasiwsa di perbolehkan memulai PP.