Kamis, 27 Desember 2007

Bahasa Pemrograman, Apa ya?^^

Seperti halnya manusia yang mempunyai bermacam-macam bahasa, begitu juga komputer. Namun berbeda dengan manusia yang bahasa dasarnya bergantung suku, bangsa atau tempat bermukim, komputer hanya mempunyai bahasa dasar yang berupa bahasa mesin. Bahas mesin adalah bahasa yang hanya mengenal kode biner, yaitu kode yang berisi angka 0 atau satu saja. Bahasa ini sudah tentu sulit bagi manusia. Menulis program dengan bahasa mesin sungguh sangat menjemukan, menyita waktu bagi penulisnya (pemrograman), dan menuntut pengetahuan tentang mesin itu sendiri.

Agar program mudah dibuat, maka akhirnya dicitakanlah bahasa pemrograman computer yang lain. Berdasarkan kedekatannya dengan bahasa manusia, bahasa pemrograman ini dibedakan atas 3 tingkatan,yaitu:
1.Bahasa pemrograman tingkat tinggi, merupakan bahasa pemrograman yang instruksinyaaling dekat dengan manusia ( dalam hal ini bahasa inggris), seperti: bahasa Basic, Fortran, Pascal, dan lain-lain. Program yang dihasilkan dengan bahasa pemrogaman tingkat ini lebih lambat dibandingkan dengan program yang dihasilkan dengan bahasa pemrograman yang lebih rendahtingkatannya, tetapi lebih mudah pemrogramannya.

2.Bahasa pemrograman tingkat menengeh merupakan bahasa pemrograman yang instruksinya masih dekat dengan bahasa manusia tetapi program yang dihasilkan mempunyai kecepatan yang lebih baik dari pada tingkat tinggi. Penggolongan tingkat menengah ini sebenarnya muncul belakangan. Contoh bahasa pemrograman tingkat menengah adalah bahasa C.

3.Bahasa pemrograman tingkat rendah meruakan bahas dasr komuter (disebut juga bahasa rakitan). Pemrograman dengan bahasa tingkat rendah ini memerlukan logika yang cukup rumit di samping instruksinya yang jauh berbeda dengan bahasa manusia. Program yang dihasilakn dengan bahasa pemrograman tingkat ini mempunyai keceatan yang paling baik. Contoh bahasa pemrograman tingkat rendah adalah bahasa Assembly ( Assembly = rakitan, Assembler=perakit)

Contoh Program Segitiga dengan For dan If

program segitiga_for_and;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
c:char;
i,j,n:integer;
label
mulai;
begin
writeln('==========Selamat Datang di Program Rani Amalia===========');
mulai:
write('Masukkan Nilai:');
readln(n);
for i:=1 to n do
begin
for j:=1 to 1 do
write(i);
for j:=2 to 2 do
if ((i=1) and (j=2)) then
begin
write(' ');
end
else
write(i+n-1:3);
for j:=3 to 3 do
if ((i=1) and (j=3)) or ((i=2) and (j=3)) then
begin
write(' ');
end
else
write(2*n+i-3:3);
for j:=4 to 4 do
if ((i=1) and (j=4)) or ((i=2) and (j=4)) or ((i=3) and (j=4))then
begin
write(' ');
end
else
write(3*n+i-6:3);
for j:=5 to 5 do
if ((i=1) and (j=5)) or ((i=2) and (j=5)) or ((i=3) and (j=5)) or((i=4) and (j=5))then
begin
write(' ');
end
else
write(4*n+i-10:3);
writeln;
end;
readln;
write('Mau Keluar Program??(y/t):');
readln(c);
if c='t' then
goto mulai
else
writeln('========Terima Kasih Anda telah memakai program Rani^^========');
readln
end.

HASIL Setelah di RUN(F9 pd Delphi):
==========Selamat Datang di Program Rani Amalia===========
Masukkan Nilai:3
1
2 4
3 5 6

Mau Keluar Program??(y/t):t
Masukkan Nilai:5
1
2 6
3 7 10
4 8 11 13
5 9 12 14 15

Mau Keluar Program??(y/t):y
========Terima Kasih Anda telah memakai program Rani^^========

Contoh Program dengan If..then...else...

program HargaBarangOk;
{$APPTYPE CONSOLE}
uses SysUtils;
var
i:real;
const
a=50000;
b=100000;
label
mulai;
begin
mulai:
writeln('Masukkan Harga Barang:');
readln(i);
If i>b then
begin
i:=i-(i*15/100);
writeln('=================================');
writeln('Anda mendapatkan diskon 15%');
writeln('Total pembelian anda:',i:5:0);
writeln('=================================');
goto mulai;
end
else
if i>a then
begin
i:=i-(i*10/100);
writeln('=================================');
writeln('Anda mendapatkan diskon 10%');
writeln('Total pembelian anda:',i:5:0);
writeln('=================================');
goto mulai;
end
else
begin
writeln('=================================');
writeln('Anda tidak mendapatkan diskon');
writeln('Total pembelian anda:',i:5:0);
writeln('=================================');
end;
readln;
end.

HASIL Setelah di RUN(F9 pd Delphi):
Masukkan Harga Barang:
60000
=================================
Anda mendapatkan diskon 10%
Total pembelian anda:54000
=================================
Masukkan Harga Barang:
200000
=================================
Anda mendapatkan diskon 15%
Total pembelian anda:170000
=================================
Masukkan Harga Barang:
25000
=================================
Anda tidak mendapatkan diskon
Total pembelian anda:25000
=================================

Penjumlahan 2Matrix dengan Procedure

program perkalian_dua_matrik2x2;

{$APPTYPE CONSOLE}

uses
SysUtils;

type matrix = array [1..2,1..2] of real;

procedure BacaMatrix(var M : matrix);
var i,j : integer;
begin
for i := 1 to 2 do
for j := 1 to 2 do
begin
write('masukkan nilai matrix (',i,',',j,') : ');
readln(M[i,j]);
end;
end;

procedure TulisMatrix(M : matrix);
var i,j : integer;
begin
writeln('Hasil Penjumlahan Matrix: ');
for i := 1 to 2 do
begin
for j := 1 to 2 do
write(M[i,j]:8:0);
writeln;
end;
end;

procedure TambahMatrix(M1,M2 : matrix;
var M3 : matrix);
var i,j : integer;
begin
for i := 1 to 2 do
for j := 1 to 2 do
M3[i,j] := M1[i,j] + M2[i,j];
end;

var A,B,C : matrix;
begin
writeln;
writeln('<<<===================================>>>');
writeln('PROGRAM PENJUMLAHAN DUA BUAH MATRIX 2 X 2');
writeln;
writeln('Silahkan masukkan nilai matrix');
writeln;
writeln('MATRIX PERTAMA:');
BacaMatrix(A);
writeln;
writeln('MATRIX KEDUA:');
BacaMatrix(B);
writeln;
writeln('Tekan ENTER untuk melihat hasilnya');
readln;
TambahMatrix(A,B,C);
TulisMatrix(C);
writeln;
writeln('Sekarang...Coba TEKAN ENTER lagi'' Untuk keluar program^^');
readln;
end.

Hasil Setelah di RUN(F9 pd Delphi):
<<<===================================>>>
PROGRAM PENJUMLAHAN DUA BUAH MATRIX 2 X 2

Silahkan masukkan nilai matrix

MATRIX PERTAMA:
masukkan nilai matrix (1,1) : 12
masukkan nilai matrix (1,2) : 32
masukkan nilai matrix (2,1) : 4
masukkan nilai matrix (2,2) : 9

MATRIX KEDUA:
masukkan nilai matrix (1,1) : 34
masukkan nilai matrix (1,2) : 5
masukkan nilai matrix (2,1) : 12
masukkan nilai matrix (2,2) : 65

Tekan ENTER untuk melihat hasilnya

Hasil Penjumlahan Matrix:
46 37
16 74

Sekarang...Coba TEKAN ENTER lagi' Untuk keluar program^^

Contoh Program Dengan Instruksi Function..^^

program fungsi_gaji_karyawan;

{$APPTYPE CONSOLE}

uses
SysUtils;
var
gp,a,gb,anak,tunj,pajak:real;

function ta(gp,a:real):real;
begin
if a<=2 then
ta:=a*20000
else
ta:=a*15000;
end;
function tl(gp:real):real;
begin
tl:=(0.5*gp)+(0.05*gp)+(0.1*gp);
end;
function pjk(gp:real):real;
begin
pjk:=0.1*gp;
end;

begin
writeln('================Program Hitung Gaji====================');
writeln;
write('gaji pokok:');
readln(gp);
write('jumlah anak:');
readln(a);
anak:=ta(gp,a);
tunj:=tl(gp);
pajak:=pjk(gp);
gb:=gp+anak+tunj-pajak;
writeln('tunjangan anak anda:',anak:15:2);
writeln('tunjangan tambahan anda:',tunj:15:2);
writeln('pajak gaji anda:',pajak:15:2);
writeln('Gaji bersih anda:',gb:15:2);
writeln;
writeln('==================Terima Kasih==========================');
write('=========Anda telah memakai Program Rani Amalia===========');
readln;
end.

Hasil Setelah di RUN(F9 pd Delphi):

================Program Hitung Gaji====================

gaji pokok:3000000
jumlah anak:3
tunjangan anak anda: 45000.00
tunjangan tambahan anda: 1950000.00
pajak gaji anda: 300000.00
Gaji bersih anda: 4695000.00

==================Terima Kasih==========================
=======Anda telah memakai Program Rani Amalia=============

Coba di RUN lagi..^^
================Program Hitung Gaji====================

gaji pokok:1000000
jumlah anak:0
tunjangan anak anda: 0.00
tunjangan tambahan anda: 650000.00
pajak gaji anda: 100000.00
Gaji bersih anda: 1550000.00

==================Terima Kasih==========================
=========Anda telah memakai Program Rani Amalia===========

Listing Program Display For Vs Writeln...^^

program display_1_0;
{$APPTYPE CONSOLE}

uses
SysUtils;
var
i,j:integer;

procedure satu; {subprogram}
begin
writeln(' *');
writeln('**');
writeln(' *');
writeln(' *');
writeln('***');
end;

procedure nol; {subprogram}
begin
writeln('***');
writeln('* *');
writeln('* *');
writeln('* *');
writeln('***');
write;
end;

begin {program utama}
Writeln('Apa Hayoo.. Beda Writeln dgn for utk nampilin display??');
readln;
writeln('Tekan enter utk lihat display 1 dengan writeln');
readln;
satu;
writeln('Tekan enter utk lihat display 1 dengan for');
readln;
for i:=1 to 5 do
begin
for j:=1 to 3 do
if (i=5) or (j=2) or ((i=2) and (j=1))
then
write('*')
else
write(' ');
readln;
end;
readln;
writeln('Tekan enter utk lihat display 0 dengan writeln');
readln;
nol;
writeln('Tekan enter utk lihat display 0 dengan for');
readln;
for i:=1 to 5 do begin
for j:=1 to 3 do
if (i=1) or (i=5) or (j=1) or (j=3)
then
write('*')
else write(' ');
readln
end;
writeln('Udah tahu Bedanya..??');
readln;
writeln('Enter untuk Keluar Program');
readln
end.

Hasil Setelah di RUN(F9 pd Delphi):
Apa Hayoo.. Beda Writeln dgn for utk nampilin display??

Tekan enter utk lihat display 1 dengan writeln

*
**
*
*
***
Tekan enter utk lihat display 1 dengan for

*
**
*
*
***

Tekan enter utk lihat display 0 dengan writeln

***
* *
* *
* *
***
Tekan enter utk lihat display 0 dengan for

***
* *
* *
* *
***
Udah tahu Bedanya..??

Enter untuk Keluar Program

Nb: Buat temen2 yang penasaran bisa copy listing diatas dan jalanin di DELPHI bisa lebih terlihat jelas perbedaannya (cara tampilan dengan for Vs writeln (hoho...Selamat Mencoba..^^')