Thursday, May 2, 2013

Tugas Struktur Data Pascal || Algoritma Konversi Infix Ke Postfix || Stack Dan Queue || Antrian Dan Kumpulan


ALGORITMA KONVERSI INFIX KE POSTFIX
  1. Baca notasi dari kiri, kita misalkan R 
  2. Jika R Operand, maka langsung cetak 
  3. Jika R adalah ‘(‘, maka push R ke dalam Stack 
  4. Jika R adalah ‘)’, maka lakukan pop stack dan cetak sampai bertemu tanda ‘)’. kemudian Pop Stack 
  5. Jika R adalah Operator maka,
  • Jika top stack = 0 atau derajat R > dari derajat stack teratas maka push R ke stack
  • Jika tidak maka pop stack dan cetak
  • Jika Top Stack = 0 atau Derajat R > dari Derajat Stack teratas maka push R ke tumpukan
     6. Jika Stack masih belum kosong maka pop seluruh stack dan cetak.

         Contoh :
         Ekspresi Infix : (K^(L+M))+(N-O)


Monday, April 8, 2013

Tugas Struktur Data Pascal || Volume Tabung Array Prosedur Record | Program Sederhana |


Sekedar sharing, kalo yang ini tugas 2 untuk NIM genap nyari volume tabung, mudah-mudahan bisa sedikit membantu.

program tugastabung;
uses crt;
type tabung = record
     r   : integer;
     t   : integer;
     La  : real;
     Ls  : real;
     Ltt : real;
     Ltot: real;
     v   : real;
end;

var  tbg : tabung;
     i,pilihan : integer;
     lagi : char;
     label lagii;


//ini cuma buat judul atau headernya doank gak terlalu penting
procedure spasi(x:integer);
begin
    for i:=1 to x do
      begin
        write(' ');
      end;
end;

procedure garis(x:integer);
begin
 for i:=1 to x do
 begin
 write ('-');
 end;
end;

procedure batas;
 begin
    write('|');
 end;

procedure judul;
begin
   gotoxy(17,2); batas; garis(45); batas;
   gotoxy(17,3); write('|Program Sederhana Penghitungan Volume Tabung|');
   gotoxy(17,4); write('|Procedure With "With" & Without "With" LOL!! |');
   gotoxy(17,5); batas; garis(45); batas;
   gotoxy(17,6); batas; spasi(10);write('Dicky Prastianto Pramudya'); spasi(10); batas;
   gotoxy(17,7); batas; spasi(16);write('5520 111 097'); spasi(17); batas;
   gotoxy(17,8); batas; spasi(19);Write('TI.IV-4'); spasi(19); batas;
   gotoxy(17,9); batas; garis(45);batas;
   gotoxy(1,25); spasi(32); write('*Program Konyol*'); spasi(32);
end;

//yang ini prosedur yang pake with
procedure usewith;
begin
 clrscr;
 judul;
 gotoxy(1,12);
 with tbg do
 begin
   writeln('Ini Menggunakan "With" Lho! ');
   writeln;
   write('Jari-jari Kerucut : '); readln(r);
   write('Tinggi Kerucut    : '); readln(t);
   writeln;
   La := pi * sqr(r);
   Ls := 2 * pi * r * t;
   Ltt := La + Ls;
   Ltot := Ltt + La;
   v := La * t;
   writeln('Luas Alas                         :', La:8:2);
   writeln('Luas Selimut Tabung               :', Ls:8:2);
   writeln('Luas Permukaan Tabung Tanpa Tutup :', Ltt:8:2);
   writeln('Luas Seluruh Permukaan Tabung     :', Ltot:8:2);
   writeln('Volume Tabung                     :', v:8:2);
   writeln;
   garis(30);
   writeln;
 end;
end;

//kalo yang ini prosedur gak pake with lebih ribet
procedure withoutwith;
begin
 clrscr;
 judul;
 gotoxy(1,12);
 writeln('Ini Gak Pake "With" Lho! ');
 writeln;
 write('Jari-jari Kerucut : '); readln(tbg.r);
 write('Tinggi Kerucut    : '); readln(tbg.t);
   tbg.La := pi * sqr(tbg.r);
   tbg.Ls := 2 * pi * tbg.r * tbg.t;
   tbg.Ltt := tbg.La + tbg.Ls;
   tbg.Ltot := tbg.Ltt + tbg.La;
   tbg.v := tbg.La * tbg.t;
 writeln;
 writeln('Luas Alas                         :', tbg.La:8:2);
 writeln('Luas Selimut Tabung               :', tbg.Ls:8:2);
 writeln('Luas Permukaan Tabung Tanpa Tutup : ',tbg.Ltt:8:2);
 writeln('Luas Seluruh Permukaan Tabung     :', tbg.Ltot:8:2);
 writeln('Volume Tabung                     :', tbg.v:8:2);
 writeln;
 garis(30);
 writeln;
 end;

//ini baru program utama
Begin
 lagii:
 clrscr;
 judul; //manggil prosedur judul

 gotoxy(1,12);
 writeln('1. Penghitungan Luas & Volume Tabung dengan "With" ');
 writeln('2. Penghitungan Luas & Volume Tabung Tanpa "With"  ');
 garis(50);writeln;
 spasi(3);
 write('Mau yang mana ? 1 atau 2? : '); readln(pilihan);
 if (pilihan = 1) then usewith
 else if (pilihan = 2) then withoutwith
 else
   begin
   writeln;
   writeln;
   write('Pilihannya Cuma 1 & 2 Lho!');
   end;

 write('Mau Menghitung Lagi [Y or N]?'); readln(lagi);
 if (lagi ='y') or (lagi ='Y') then goto lagii
 else if (lagi='N') or (lagi='n') then end.
 readln;
End.

Saturday, April 6, 2013

Tugas 3 Struktur Data || Pascal Array & Record Procedure || Program Kasir Sederhana

Alhamdulillah tugas 3 kelar juga, program kasir sederhana menggunakan record dan array, procedure, gotoxy, dan textcolor. Masih pemula jadi wajar kalau kurang memuaskan Hahaha.

program tugas3;
uses crt;

type dataBarang = record
        Nama : string;
        Jum  : integer;
        Hrg  : real;
        TotB : real;
end;

var
  brg : Array[1..20] of dataBarang;
  i,x: integer;
  totPen : real;

procedure garis(x:integer);
begin
 for i:=1 to x do
 begin
 write ('-');
 end;
end;

procedure batas;
 begin
    write('|');
 end;

procedure judul;
begin
 gotoxy(21,1); garis(34);
 gotoxy(21,2); writeln('--** Aplikasi Kasir Sederhana **--');
 gotoxy(21,3); garis(34);
end;

   procedure masukan;
   begin
    judul;
    gotoxy(1,5);
    x:=5;  // inputannya cuman 5 ajah
    totPen := 0;
    for i:=1 to x do
    begin
    write ('Nama Barang Ke-',i,' : '); readln(brg[i].Nama);
    write ('Jumlah Barang : '); readln(brg[i].Jum);
    write ('Harga Barang : '); readln(brg[i].Hrg);
    writeln;
    brg[i].TotB := brg[i].Jum * brg[i].Hrg;
    totPen := totPen + brg[i].TotB;
    end;
   end;

  procedure tabel;
  begin
  clrscr;
  judul;
  gotoxy(9,5); garis(59);
  gotoxy(9,6); batas;
  gotoxy(11,6); write('NO');
  gotoxy(13,6); batas;
  gotoxy(15,6); write('Nama Barang');
  gotoxy(28,6); batas;
  gotoxy(30,6); write('Jumlah');
  gotoxy(37,6); batas;
  gotoxy(39,6); write('Harga Barang');
  gotoxy(53,6); batas;
  gotoxy(55,6); write('Total Bayar');
  gotoxy(67,6); batas;
  gotoxy(9,7); garis(59);
  end;

  procedure keluaran;
  begin
  x:=5;
   for i:= 1 to x do
   begin
    gotoxy(9,7+i); batas;
    gotoxy(11,7+i); write(i);
    gotoxy(13,7+i); batas;
    gotoxy(15,7+i); write(brg[i].Nama);
    gotoxy(28,7+i); batas;
    gotoxy(31,7+i); write(brg[i].Jum);
    gotoxy(37,7+i); batas;
    gotoxy(40,7+i); write(brg[i].Hrg:9:0);
    gotoxy(53,7+i); batas;
    gotoxy(56,7+i); write(brg[i].TotB:9:0);
    gotoxy(67,7+i); batas;
   end;
   gotoxy(9,8+x); garis(59);
   gotoxy(10,9+x); write('TOTAL PENDAPATAN : ');
   gotoxy(56,9+x); write(totPen:10:0);
   end;

Begin
  textcolor(9);
  masukan;
  tabel;
  keluaran;
  Readln;
End.

Silahkan di download program jadinya diisini.

Tugas 2.0 Struktur Data | Pascal Array & Record & Procedure With | Program Sederhana | Menghitung Volume Kerucut |

Alhamdulillah Tugas 2.0 Akhirnya Selesai juga, biar sederhana yang penting hasil kerja sendiri hehehe,
Tugas ini tentang  prosedur yang menggunakan with dan prosedur dot/tanpa with.


program tugas2;
uses crt;
type kerucut = record
     r,t : integer;
     v,Ls,Ltot,s : real;
end;

var  kucrut : kerucut;  //variable kucrut seharusnya diganti
       i,pilihan : integer;  // dgn variabel yg lebih singkat
       lagi : char;
       label ulangi;

//ini cuma buat judul atau headernya doank gak terlalu penting
procedure spasi(x:integer);
begin
    for i:=1 to x do
      begin
        write(' ');
      end;
end;

procedure garis(x:integer);
begin
 for i:=1 to x do
   begin
     write ('-');
   end;
end;

procedure batas;
 begin
    write('|');
 end;

procedure judul;
begin
   gotoxy(17,2); batas; garis(45); batas;
   gotoxy(17,3); write('|Program Sederhana Penghitungan Volume Kerucut|');
   gotoxy(17,4); write('|Procedure With "With" & Without "With" LOL!! |');
   gotoxy(17,5); batas; garis(45); batas;
   gotoxy(17,6); batas; spasi(10);write('Dicky Prastianto Pramudya'); spasi(10); batas;
   gotoxy(17,7); batas; spasi(16);write('5520 111 097'); spasi(17); batas;
   gotoxy(17,8); batas; spasi(19);Write('TI.IV-4'); spasi(19); batas;
   gotoxy(17,9); batas; garis(45);batas;
   gotoxy(1,25); spasi(32); write('*Program Konyol*'); spasi(32);
end;

//yang ini prosedur yang pake with
procedure usewith;
begin
 clrscr;
 judul;
 gotoxy(1,12);
 with kucrut do
 begin
   writeln('Ini Menggunakan "With" Lho! ');
   writeln;
   write('Jari-jari Kerucut : '); readln(r);
   write('Tinggi Kerucut    : '); readln(t);
   writeln;
   s := sqrt(sqr(r)+sqr(t));
   Ls := pi * r * s;
   Ltot := pi * r * (s+r);
   v := (1/3) * pi * sqr(r) * t;
   writeln('Luas Selimut Kerucut :', Ls:8:2);
   writeln('Luas Seluruh Sisi    :', Ltot:8:2);
   writeln('Volume Kerucut       :', v:8:2);
   writeln;
   garis(30);
   writeln;
 end;
end;

//kalo yang ini prosedur gak pake with lebih ribet alias pake dot atau titik
procedure withoutwith;
begin
 clrscr;
 judul;
 gotoxy(1,12);
 writeln('Ini Gak Pake "With" Lho! ');
 writeln;
 write('Jari-jari Kerucut : '); readln(kucrut.r);
 write('Tinggi Kerucut    : '); readln(kucrut.t);
   kucrut.s := sqrt(sqr(kucrut.r)+sqr(kucrut.t));
   kucrut.Ls := pi * kucrut.r * kucrut.s;
   kucrut.Ltot := pi * kucrut.r * (kucrut.s+kucrut.r);
   kucrut.v := (1/3) * pi * sqr(kucrut.r) * kucrut.t;
 writeln;
 writeln('Luas Selimut Kerucut :', kucrut.Ls:8:2);
 writeln('Luas Seluruh Sisi    :', kucrut.Ltot:8:2);
 writeln('Volume Kerucut       :', kucrut.v:8:2);
 writeln;
 garis(30);
 writeln;
 end;

//ini baru program utama
Begin
 lagii:
 clrscr;
 judul; //manggil prosedur judul

 gotoxy(1,12);
 writeln('1. Penghitungan Luas & Volume Kerucut dengan "With" ');
 writeln('2. Penghitungan Luas & Volume Kerucut Tanpa "With"  ');
 garis(50);writeln;
 spasi(3);
 write('Mau yang mana ? 1 atau 2? : '); readln(pilihan);
 if (pilihan = 1) then usewith
 else if (pilihan = 2) then withoutwith
 else
   begin
   writeln;
   writeln;
   write('Pilihannya Cuma 1 & 2 Lho!');
   end;

 write('Mau Menghitung Lagi [Y or N]?'); readln(lagi);
 if (lagi ='y') or (lagi ='Y') then goto ulangi
 else if (lagi='N') or (lagi='n') then end.
 readln;

End.

Ini Program Jadinya Disini


Wednesday, April 3, 2013

Tugas 2 Pascal Struktur Data || Array Procedure || Program Sederhana || Input & Pengolahan Nilai

Tugas 1.2 Struktur Data Bahasa Pemrograman Pascal.
Alhamdulillah tugas 2 selesai juga, walaupun masih sederhana yang penting hasil kerja sendiri hahaha,
Namanya juga masih dalam tahap belajar hahaha.

program latihan2;
uses crt;
var i,x:integer;
    nama,nim : array [1..10] of string;
    bdt,rd,ads,mh,sd,jk,adm,ro : array [1..10] of integer;
    ips : array [1..10] of real;

     procedure garis(x:integer);
     begin
     for i:=1 to x do
     begin
     write ('-');
     end;
     end;

     procedure judul;
      begin
        gotoxy(10,1); garis(44);
        gotoxy(10,2); write('|Program Sederhana Pengolahan Nilai Mahasiswa|');
        gotoxy(10,3); garis(44);
      end;

    procedure batas;
    begin
     write('|');
    end;

    procedure spasi(x:integer);
    begin
    for i:=1 to x do
      begin
        writeln;
      end;
    end;

    procedure nilaiakhir(i:integer);
    begin
     ips[i] := (bdt[i] + rd[i] + ads[i] + mh[i] + sd[i] + jk[i] + adm[i] + ro[i])/8;
    end;

    procedure tabel(x:integer);
    begin
     clrscr;
     gotoxy(1,3);garis(79);
     gotoxy(1,4);batas;
     gotoxy(3,4);write ('No');
     gotoxy(5,4);batas;
     gotoxy(7,4);write('NIM');
     gotoxy(12,4);batas;
     gotoxy(14,4);write('Nama');
     gotoxy(21,4);batas;
     gotoxy(23,4);write('BDT');
     gotoxy(28,4);batas;
     gotoxy(30,4);write('RD');
     gotoxy(34,4);batas;
     gotoxy(36,4);write('ADS');
     gotoxy(41,4);batas;
     gotoxy(43,4);write('MH');
     Gotoxy(47,4);batas;
     gotoxy(49,4);write('SD');
     gotoxy(53,4);batas;
     gotoxy(55,4);write('JKM');
     gotoxy(60,4);batas;
     gotoxy(62,4);write('AS');
     gotoxy(66,4);batas;
     gotoxy(68,4);write('RO');
     gotoxy(72,4);batas;
     gotoxy(74,4);write('IPS');
     gotoxy(79,4);batas;
     gotoxy(1,5);garis(79);
     gotoxy(1,6+x);garis(79);
    end;

    procedure masukan(x:integer);
    begin
    judul;
    for i:= 1 to x do
    begin
     clrscr;
     writeln('Data Ke-',i,' : ');
     write ('Nama : '); readln(nama[i]);
     write ('NIM : '); readln(nim[i]);
     write ('Nilai Matkul Basis Data : '); readln(bdt[i]);
     write ('Nilai Matkul Rangkaian Digital : '); readln (rd[i]);
     write ('Nilai Matkul Analisis Desain Sistem : '); readln (ads[i]);
     write ('Nilai matkul Manajemen Hardware : '); readln (mh[i]);
     write ('Nilai Matkul Struktur Data  : '); readln (sd[i]);
     write ('Nilai Matkul Jaringan Komputer : '); readln (jk[i]);
     write ('Nilai matkul Administrasi Sistem : '); readln (adm[i]);
     write ('Nilai Matkul Riset Operasional : '); readln (ro[i]);
     nilaiakhir(i);
    end;
   end;

    procedure keluaran(x:integer);
    begin
    for i:=1 to x do
     begin
     gotoxy(1,5+i);batas;
     gotoxy(3,5+i);write (i);
     gotoxy(5,5+i);batas;
     gotoxy(7,5+i);write(nim[i]);
     gotoxy(12,5+i);batas;
     gotoxy(14,5+i);write(nama[i]);
     gotoxy(21,5+i);batas;
     gotoxy(23,5+i);write(bdt[i]);
     gotoxy(28,5+i);batas;
     gotoxy(30,5+i);write(rd[i]);
     gotoxy(34,5+i);batas;
     gotoxy(36,5+i);write(ads[i]);
     gotoxy(41,5+i);batas;
     gotoxy(43,5+i);write(mh[i]);
     Gotoxy(47,5+i);batas;
     gotoxy(49,5+i);write(sd[i]);
     gotoxy(53,5+i);batas;
     gotoxy(55,5+i);write(jk[i]);
     gotoxy(60,5+i);batas;
     gotoxy(62,5+i);write(adm[i]);
     gotoxy(66,5+i);batas;
     gotoxy(68,5+i);write(ro[i]);
     gotoxy(72,5+i);batas;
     gotoxy(74,5+i);write(ips[i]:2:2);
     gotoxy(79,5+i);batas;
     end;
  end;

//Program Utama
Begin
  judul;
  spasi(2);
  write('Berapa Banyak data yang akan dimasukan? '); readln(x);
  masukan(x);
  tabel(x);
  judul;
  keluaran(x);
  readln;
End.


Monday, April 1, 2013

Tugas Struktur Data || Pascal || Array & Prosedur || Program Sederhana

Alhamdulillah satu tugas selesai. Tugas 1 Struktur Data Program Array Sederhana With Prosedur Bahasa Pascal. Aku pakenya Lazarus. Walaupun Ukurannya lumayan gede tapi mayanlah keren. Download disini ukurannya lumayan 100mb-an.Kalo gak mw yaa pake ajah turbo pascal.

program latihan1;
uses crt;
var i,x:integer;
    nama : array [1..10] of string;
    nTugas,nQuiz,nUTS,nUAS : array [1..10] of integer;
    nAkhir : array [1..10] of real;

     procedure garis(x:integer);
     begin
     for i:=1 to x do
     begin
     write ('-');
     end;
     end;

     procedure judul;
      begin
        gotoxy(10,1); garis(44);
        gotoxy(10,2); write('Program Sederhana Pengolahan Nilai Mahasiswa');
        gotoxy(10,3); garis(44);
      end;



    procedure batas;
    begin
     write('|');
    end;

    procedure spasi(x:integer);
    begin
    for i:=1 to x do
      begin
        writeln;
      end;
    end;

    procedure nilaiakhir(i:integer);
    begin
     nAkhir[i] := 0.1 * nTugas[i] + 0.2 * nQuiz[i] + 0.3 * nUTS[i] + 0.4 * nUAS[i];
    end;

    procedure tabel(x:integer);
    begin
     clrscr;
     gotoxy(1,3);garis(60);
     gotoxy(1,4);batas;
     gotoxy(3,4);write ('No');
     gotoxy(5,4);batas;
     gotoxy(9,4);write ('Nama');
     gotoxy(16,4);batas;
     gotoxy(18,4);write('N.Tugas');
     gotoxy(26,4);batas;
     gotoxy(28,4);write('N.Quiz');
     gotoxy(35,4);batas;
     gotoxy(37,4);write('N.UTS');
     gotoxy(42,4);batas;
     gotoxy(44,4);write('N.UAS');
     Gotoxy(50,4);batas;
     gotoxy(52,4);write('N.Akhir');
     gotoxy(60,4);batas;
     gotoxy(1,5);garis(60);
     gotoxy(1,6+x);garis(60);
    end;

    procedure masukan(x:integer);
    begin
    judul;
    for i:= 1 to x do
    begin
     clrscr;
     writeln('Data Ke-',i,' : ');
     write ('Nama : '); readln(nama[i]);
     write ('Nilai Tugas : '); readln(nTugas[i]);
     write ('Nilai Quiz : '); readln (nQuiz[i]);
     write ('Nilai UTS : '); readln (nUTS[i]);
     write ('Nilai UAS : '); readln (nUAS[i]);
     nilaiakhir(i);
    end;
    end;

    procedure keluaran(x:integer);
    begin
    for i:=1 to x do
      begin
        gotoxy(1,5+i);batas;
        gotoxy(3,5+i);write (i);
        gotoxy(5,5+i);batas;
        gotoxy(7,5+i);write (nama[i]);
        gotoxy(16,5+i);batas;
        gotoxy(20,5+i);write(nTugas[i]);
        gotoxy(26,5+i);batas;
        gotoxy(30,5+i);write(nQuiz[i]);
        gotoxy(35,5+i);batas;
        gotoxy(39,5+i);write(nUTS[i]);
        gotoxy(42,5+i);batas;
        gotoxy(46,5+i);write(nUAS[i]);
        Gotoxy(50,5+i);batas;
        gotoxy(53,5+i);write(nAkhir[i]:2:2);
        gotoxy(60,5+i);batas;
      end;
    end;

Begin
  judul;
  spasi(2);
  write('Berapa Banyak data yang akan dimasukan? '); readln(x);
  masukan(x);
  tabel(x);
  judul;
  keluaran(x);
  readln;
End.


Sunday, March 31, 2013

Tips || Membuat Flashdisk Installer || Bootable USB || Notebook & Netbook || Rufus v1.3.2

Konichiwa Minna-san,.

Udah tau kan USB flashdisk bootable? itu loh yang pake buat install sistem operasi via flashdisk,. Bikinnya sih gak susah-susah amat. Caranya sih banyak. kali ini aku cuman nge-share yang pake Rufus lebih cepet and gampang bikinnya. Biasanya dipake buat nginstall di netbook coz kan netbook ada ada CD/DVD Drivenya. 

Bahan-bahannya :

  1. Flashdisk tentunya sesuaiin ukurannya dengan ukuran iso sistem operasinya. Misalnya 4Gb untuk windows 7.
  2. File ISO sistem operasi. XP/7/Linux 
  3. Software Rufus. Bisa didownload disini. Ukurannya kecil gak sampe 1Mb. Portable lagi.
Cara Buatnya :
  1. Pastikan USB Flashdisk udah dicolok n terhubung ke komputer.
  2. Jalankan Rufus-nya.
  3. Pilih device-nya/flasdisknya, partition schemenya kasi sama ajah kayak yg digambar, file systemnya suka-suka aja FAT32/NTFS atau defaultnya ajah, Cluster siizenya biar default ajah, trus pilih file iso OS-nya caranya klik icon mirip CD/DVD drive disamping  tulisan ISO IMAGE. Trus cari deh filenya dimana. kalo dah berhasil dibagian bawah bakal ada tulisan USING ISO : NamaFileISO.iso. Liiat ajah gambar.
  4. Kalo semua dah OK tinggal klik start ajah. Tunggu sebentar dah selesai. Dah bisa buat nginstal OS.

Ini bisa pake buat semua sistem operasi kayak Linux/Windows. Gak ribet, gampang n cepet bikinnya. Selamat Mencoba! Ganbatte Kudasai Minna-san.