Donatur utama

Selasa, 25 November 2008

Case - Of

Struktur Case – Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector.
Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainya tidak.

Bentuk struktur dari Case - Of:

Case Variabel Kondisi Of
Case – Label 1; Statement 1;
Case – Label 2; Statement 2;
Case – Label 3; Statement 3;
Case – Label 4; Statement 4;
........
........
Case – Label n ; Statement n ;
End ; { end dari case }

Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real.
Contoh program ;
Program nilai;
Var
nil : Char ;
Begin
Write ('Nilai Numerik yang didapat :');
Readln (nil);
Case nil Of
'A': Writeln ('Sangat Baik’);
'B': Writeln('Baik’);
'C': Writeln('Cukup');
'D': Writeln('Kurang');
'E': Writeln('Sangat Kurang');
End;
End.
hasil : Nilai Numerik yang didapat : B Input Baik
Contoh Listing Program untuk Dicoba

1. Program input data dengan array.
Program Pemakaian_Array_Untuk_10_data_dengan_menggunakan_For;

Uses Crt;
Const
garis='------------------------------------------------------';
Var
nil1,nil2 : Array [1..10] Of 0..100; {Array dgn Type subjangkauan}
npm : Array [1..10] Of String [8];
nama : Array [1..10] Of String [15];
n,i,bar : Integer;
jum : Real;
tl : Char;
Begin
ClrScr;
{ pemasukan data dalam array }
Write ('Mau Isi Berapa Data:');
Readln (n);
For i:= 1 To n Do
Begin
ClrScr;
GotoXY(30,4+1); Write('Data Ke-:',i:2);
GotoXY(10,5+i); Write('NPM :'); Readln (npm[i]);
GotoXY(10,6+i); Write('Nama :'); Readln (nama[i]);
GotoXY(10,7+i); Write('Nilai 1 :'); Realdn(nil 1[i]);
GotoXY(10,8+i); Write('Nilai 2 :'); Readln(nil 2[i]);
End;
{ proses data dalam array }
ClrScr;
GotoXY(5,4); Write(Garis);
GotoXY(5,5); Write ('No');
GotoXY(9,5); Write ('NPM');
GotoXY(18,5); Write ('Nama');
GotoXY(34,5); Write ('Nilai 1');
GotoXY(41,5); Write ('Nilai 2');
GotoXY(47,5); Write ('Rata');
GotoXY(54,5); Write ('Abjad’);
GotoXY(5,6); Write (Garis);
{ proses Cetak isi array dan seleksi kondisi }
bar := 7;
For i:= 1 To n Do
Begin
jum:=(nil1[i]+nil2[i])/2;
If jum>= 90 Then tl:='A'
Else
If jum>80 Then tl:='B'
Else
If jum>60 then tl:='C'
Else
If jum 50 Then tl:='D'
Else
tl:='E';
{ cetak hasil yang disimpan di array dan hasil }
{ penyeleksian kondisi }
GotoYX(5,bar); Writeln(i:2);
GotoYX(9,bar); Writeln (NPM[i]);
GotoYX(18,bar); Writeln (NAMA[i]);
GotoYX(34,bar); Writeln (NIL1[i]:4);
GotoYX(41,bar); Writeln (NIL2[i]:4);
GotoYX(47,bar); Writeln (jum:5:1);
GotoYX(54,bar); Writeln (tl);
bar:=bar+1;
End;
GotoXY(5,bar+1);Writeln(garis);
Readln;
End.

2. Program jendela bergerak.
Program Window_Bergerak_dgn_delay;
Uses Crt;
Var i : Integer;
Begin
For i:=1 To 15 Do
Begin
Sound (i*100);
Delay (100);
NoSound;
End;
TextBackGround(black);
ClrScr;
For i := 1 To 9 Do
Begin
TextBackGround(white);
Window (42-i*4,10-i,38+i*4,15+i);
ClrScr;
Delay(100);
End;
TextColor(15);
GotoXY(28,2);Writeln('c');
GotoXY (8,3); Writeln ('3');
GotoXY (28,4); Writeln ('A');
TextColor(black);
GotoXY (44,3); Writeln ('3');
GotoXY (44,2); Writeln ('&');
TextColor (29,4); Writeln ('U');
TextColor (red*25);
GotoXY (30,3); Writeln ('B E L A J A R');
TextColor (black);
GotoXY (5,5); Write('c');
For i := 6 To 64 Do
Begin
GotoXY (i,5); Writeln ('');
End;
For i := 6 To 20 Do
Begin
GotoXY(5,i); Writeln('3 ');
End;
GotoXY (5,21); Writeln (' ');
TextColor(white);
GotoXY(65,5); Write('U');
For i := 6 To 65 Do
Begin
GotoXY (i,21); Writeln(' `);
End;
For i := 6 To 20 Do
Begin
GotoXY(65,i); Writeln('3');
End;
GotoXY (65,21); Writeln ('c');
TextColor(yellow);
Readln;
End.

Array Pada Pascal

Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Contoh:
Var
Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.

Contoh Program :
Program Contoh_Array_Input;
Uses Crt;
Var
Bilangan : array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.

Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini :
Program Contoh_Deklarasi_Array_Beragam;
Uses Crt;
Var
NPM : array[1..20] of string[10];
Nama : array[1..20] of string[25];
Nilai : array[1..20] of real;
Umur : array[1..20] of byte;
banyak,i : integer;
Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');Readln(banyak);
For i := 1 to banyak Do
Begin
Write('NPM =');Readln(NPM[i]);
Write('Nama =');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur =');readln(Umur[i]);
End;
{cetak varibel array}
Writeln('NPM NAMA NILAI UMUR ');
For i:= 1 to banyak Do
Begin
Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3);
End;
Readln;
End.

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini :
Type
Angka = String[20];
Var
Nama : Array [1..50] of Angka;
Begin
.
.
End.

Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real.
Contoh:
Var
Nilai : Array[1..10] of Integer;
pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini :

Type
Skala = 1..10;
Var
Nilai : Array [skala] of Integer;
atau :
Type
Skala = 1..10;
Y = Array[skala] of Integer;
Var
Nilai : Y;
atau :
Type
Y = Array[1..10] of Integer;
Var
Nilai : Y;
atau :
Const
Atas =1;
Bawah = 5;
type
Y = Array[Atas..Bawah] of Integer;
Var
Nilai : Y;

I. Deklarasi Type Indeks Skalar
Indeks dari larik dapat berupa tipe skalar.
Contoh. :
Program Deklarasi_Indeks_Array_Skalar;
Uses Crt;
Var
Jum : Array[(jan,feb,mar,apr,mei)] of Integer;
Begin
Jum[jan]:=25;
Jum[feb]:=45;
Jum[mar]:=21;
Jum[apr]:=23;
Jum[mei]:=50;
Writeln('Jumlah nilai bulan maret =',Jum[mar]);
Readln;
End.
dapat juga ditulis :
type
Bln = (jan,feb,mar,apr,mei);
Var
Jum : Array[bln] of Integer;
atau :
type
Bln =(jan,feb,mar,apr,mei);
Var
Jum : Array[jan..mei] of Integer;

II. Deklarasi Konstanta Array
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const).
Contoh Program :
Program Contoh_Deklarasi_Array_Konstan;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut.
Contoh Program :
Program Contoh_Konstan_Array_Char_;
Uses Crt;
Const
Huruf : Array[0..5] of Char=('A','B','C','D','E','F');
Var
i : Integer;
Begin
For i:= 0 to 5 Do
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]);
Readln;
End.
Konstanta array dapat juga berupa string seperti berikut ini.
Contoh Program :
Program Constanta_Array_String;
Uses Crt;
Type
A = Array [1..5] of String;
Const
Nama : A = ('basic','pascal','cobol','paradox','dbase');
Var
i : Integer;
Begin
For i:= 1 to 5 Do
Writeln('Nilai Array ke-',i:2,'= ',Nama[i]);
readln;
end.

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut :
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.

contoh program bilangan prima dengan menggunakan bantuan array.
Contoh program :
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses Crt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*}
End;
Readln;
End.

Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini :
Contoh Program :
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort;
Uses Crt;
Var
nil1 : Array[1..100] of Integer;
n,i,j,dum : Integer;
Begin
ClrScr;
Write('mau isi berapa data acak (integer) ='); readln(n);
For i := 1 to n Do
Begin
Write('Data Ke ',i,':');Readln(nil1[i]);
End;
{* penyapuan proses}
for i:= 1 to n-1 do
begin
for j:= i to n do
begin
if nil1[j]
begin
dum:=nil1[j];
nil1[j]:=nil1[i];
nil1[i]:=dum;
end;
end;
end;
writeln;
writeln('Hasil Sortir');
for i := 1 to n do
write(nil1[i]:3);
readln;
end.


III. Array Dua Dimensi
Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
1 2
1 2 3
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini .

Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.


IV. Alternatif Deklarasi Array Dua Dimensi.
Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat dilihat dibawah ini :
Contoh :
Var
Tabel : Array[1..3] of Array[1..2] of Byte;
atau :
Type
Matrik = Array[1..3,1..2] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom = 1..2;
Matrik = Array[Baris,Kolom] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom=1..2;
Matrik= Array[Baris] of Array[Kolom] of Byte;
Var
Tabel : Matrik;
Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi penjumlahan matrik :
Contoh Prorgam:
Program Penjumlahan_Matrik;
Uses Crt;
Var
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln(' Elemen matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 2 Do
Begin
Write('Elemen baris -',i,' Kolom -',j,'= ');
Readln(matrik1[i,j]);
End;
End;
{input matrik ke dua}
Writeln('input elemen matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write('Elemen baris -',i,' kolom -',j,'= ');
Readln(matrik2[i,j]);
End;
End;
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j];
End;
End;
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write(Hasil[i,j]:6);
End;
Writeln;
End;
Readln;
End.


V. Array Sebagai Parameter
Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array.

Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses Crt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90)>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70)>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60)>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< 45 Then
Begin
Abjad:='E';
Ket :='Sangat kurang';
End;
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15);
End;
Writeln(Garis);
End;
Procedure Masuk_Data;
Var
Nama : Untai;
Nilai : Bulat;
Begin
Write('Banyak data =');Readln(Banyak);
For i:= 1 to Banyak Do
Begin
ClrScr;
Writeln('Data ke - ',i);
Write('Nama =');readln(Nama[i]);
Write('Nilai =');readln(Nilai[i]);
End;
Proses(Nama,Nilai);
End;
{modul Utama}
Begin
Masuk_Data;
Readln;
End.

array

array adalah sebuah variabel yang dapat menampung sekumpulan data/nilai

cara mendeklarasikan array
dim namaarray(jumlah) as tipe data
atau
dim namaarray()
contoh
1. dim nama(5) as string
2. dim alamat() as string

hasil dari no 1
nama(0)
nama(1)
nama(2)
nama(3)
nama(4)
nama(5)
jika sebuah array dideklarasikan dengan cara no 2 maka untuk menggunakannya digunakan perintah redim
contoh : redim alamat(5)

pada penggunaan perintah redim maka semua nilai array sebelumnya akan dikembalikan
menjadi 0 atau dikosongkan.
untuk menambah kapasitas array dapat digunakan perintah redim preserve namaarray
contoh: redim preserve alamat(10)

Menampilkan Tulisan pada Pascal

Bagaimana cara menampilkan tulisan ke layar ????
Pascal menyediakan perintah Write dan Writeln yang digunakan untuk menampilkan tulisan ke layar.
Contoh :

var
UmurKu : Byte;
Keterangan : String;
begin
UmurKu:=22;
Keterangan:='Hi, saya sedang belajar Pascal di STMIK budidarma';
Writeln('Saya berumur ',UmurKu,' tahun');
Writeln(Keterangan);
end.

Bisa ngak Pemakai memasukkan Data??
Perintah Readln digunakan untuk membaca masukan dari pemakai dan menyimpannya ke suatu variabel.

var
UmurKu : Byte;
Keterangan : String;
begin
Write('Berapa umur anda ? '); Readln(UmurKu);
Write('Komentar anda: '); Readln(Keterangan);
Writeln;
Writeln('Saya berumur ',UmurKu,' tahun'); Writeln(Keterangan);
end.

Jika angka yang hendak kita cetak adalah bilangan desimal, bisa ngak dibatasi jumlah digit dibelakang komma?
Untuk menentukan jumlah tempat sebelum desimal dan sesudah desimal anda dapat menggunakan :x:y setelah variabel yang akan dibatasi pencetakan nilainya, dimana x adalah jumlah tempat sebelum desimal dan y adalah jumlah tempat setelah desimal. Silahkan coba koding berikut :

var
Pi : Real;
Begin
Pi := 22/7;
Writeln('Bilangan Pi adalah ', Pi);
Writeln('Bilangan Pi adalah ', Pi:2:3);
end.

Senin, 24 November 2008

Manajemen Perangkat Input/Output

Pengolahan Perangkat Input/Output merupakan pengolahan perangkat lunak mengatasi penggunaan perangkat masukan dan keluaran

Manajemen I/O mempunyai fungsi, di antaranya:
  • Mengirim perintah ke perangkat I/O agar menyediakan layanan.
  • Menangani interupsi peralatan I/O
  • Menangani kesalahan pada peralatan I/O
  • Memberi interface ke pemakai.


Berdasarkan sasaran komunikasi, klasifikasi perangkat I/O dibagi menjadi:

  • Peralatan yang terbaca oleh manusia (Human Readable Machine)
    Yaitu, peralatan yang cocok untuk komunikasi dengan user. Contohnya, Video
    Display Terminal (VDT) yang terdiri dari layar, keyboard, dan mouse.

  • Peralatan yang terbaca oleh mesin (Machine Readable Machine)
    Yaitu peralatan yang cocok untuk komunikasi dengan peralatan elektronik.
    Contohnya disk dan tape, sensor, controller.

  • Komunikasi
    Yaitu, peralatan yang cocok untuk komunikasi dengan peralatan-peralatan jarak
    jauh. Contohnya modem.


Prinsip-Prinsip Perangkat I/O

Terdapat dua sasaran perancangan perangkat I/O, yaitu:

  • Efisiensi

  • Merupakan aspek penting karena operasi I/O karena sering menjadi operasi
    yang menimbulkan bottleneck pada sistem komputer/komputasi.

  • Generalitas (Device-independence)

  • Selain berkaitan dengan simplisitas dan bebas dari kesalahan diharapkan
    juga menangani semua gerak peralatan secara beragam. Pernyataan ini
    diterapkan dari cara proses-proses memandang peralatan I/O dan cara
    sistem operasi mengelola peralatan-peralatan dan operasi-operasi I/O

Kamis, 20 November 2008

Animasi Bola Pantul2

Ternyata banyak Game yang dapat dibuat menggunakan tampilan console, kini saya menyertakan sebuah game yang dapat dibuat menggunakan CPP dan VbNet console, Game tersebut adalah Game Bola Pantul dimana, Bola akan dipantul jika kena papan pantul yang posisinya dapat digeser kekiri dan ke kanan. Skor akan bertambah jika bola mengenai bidang pantulan di sisi berlawanan.


Ini nih kodenya, dan jika Mau langsung programnya silahkan aja di Belajar Tik dan Ziddu.


Kode Pada CPP:


#include<constream.h>

#include<dos.h>

#include<stdlib.h>

void main()

{

        textbackground(0);

        clrscr();

        int xb,yb,axb,ayb;

        int w[41];

        int v[15];

        int speed;

        int csk,t;

        t=4;        

        speed=100;

         axb=1;

        ayb=1;

        xb=20;

        yb=5;

        int xp,yp;


        xp=25;

        yp=23;

        int skor=0;

        int tombol;

        int p;

        for(p=1;p<=42;p++)

        {

                textbackground(3);

                gotoxy(p,1);

                cprintf(" ");

                gotoxy(p,24);

                cprintf(" ");

        }

        for(p=1;p<=24;p++)

        {

                textbackground(3);

                gotoxy(1,p);

                cprintf(" ");

                gotoxy(42,p);

                cprintf(" ");

        }

        textbackground(0);

        int pj;

        for(p=5;p<=36;p++)

                w[p]=1;

                for(p=2;p<=t;p++)

                v[p]=p;

                int br;

        for(br=2;br<=t;br++)

        {

                for(p=5;p<=36;p++)

                { gotoxy(p,br);

                   cprintf("ß");}

        }

        _setcursortype(_NOCURSOR);


        do

        {

                // textbackground(CYAN);

                gotoxy(10,1);

                cout<<"skor = "<<skor;

                gotoxy(30,1);

                cout<<"speed = "<<speed;

                pj=xp+8;

                for(p=xp;p<=pj;p++)

                {

                        gotoxy(p,yp);

                        cprintf("ß");

                }

                 gotoxy(xb,yb);

               cprintf("O");


                delay(speed);


                gotoxy(xb,yb);

                cprintf(" ");

                for(p=xp;p<=pj;p++)

                {

                        gotoxy(p,yp);

                        cprintf(" ");

                }

                if(kbhit())

                {

                        tombol=getch();

                        if(tombol==75)

                        {

                                if(xp>10)

                                        xp=xp-6;

                                else

                                        xp=2;

                        }


                        else if(tombol==77)

                        {

                                if(xp<30)

                                        xp=xp+6;

                                else

                                        xp=33;

                        }

               }

                        xb=xb+axb;

                        yb=yb+ayb;


                if(xb==2)

                        axb=1;

                else if(xb==41)

                        axb=-1;

                if(yb==2)

                        ayb=1;


                if(yb==22 && (xb>=xp-1 && xb<=pj+1))

                {

                        ayb=-1;

                }

                else if(yb==23)

                {

                        gotoxy(30,12);

                        cout<<"Game Over";

                        tombol=27;

                }

                for(csk=t;csk>=3;csk--)

                {

                        if(yb==csk && w[xb]==1)

                        {

                                w[xb]=0;

                                ayb=-ayb;

                                skor=skor+10;

                                if(skor%50==0)

                                {

                                        if(speed>30)

                                        speed=speed-5;

                                }

                        }

                }


        }while(tombol!=27);

        getch();

}

Game Snack Versi3

Setelah Game Snack Versi 1 dan 2 keluar ini versi tiga saya keluarkan, anda bisa menggunakan menggunakan game snack menggunakan versi CPP atau menggunakan Versi VB.net atau mau coba programnya ambil aja di Belajar Tik


Kode program CPP


#include<constream.h>

#include<dos.h>

#include<stdlib.h>

int p,tombol,pj;

int x[10],y[10];

int badan[10];

int xm,ym;

int skor,speed;

int arah;

int ax,ay;

int waktu,w,level;

void cetaku();

void bentukarah();

void skors();

void main()

{

         textbackground(0);

         clrscr();

         waktu=0;

         arah=0;

         w=0;

         speed=200;

         randomize();

         level=0;

         skor=0;

         _setcursortype(_NOCURSOR);

         ax=1;

         ay=0;

         pj=2;

         xm=random(45)+5;

         ym=random(15)+5;

         skor=0;

         for(p=0;p<=pj;p++)

         {

                  x[pj-p]=p+2;

                  y[p]=12;

         }

         int ss;

         textbackground(3);

         for(ss=1;ss<=51;ss++)

         {

                  gotoxy(ss,1);cprintf(" ");

                  gotoxy(ss,24);cprintf(" ");

         }

         for(ss=1;ss<=24;ss++)

         {

                  gotoxy(1,ss);cprintf(" ");

                  gotoxy(51,ss);cprintf(" ");

         }


         textbackground(0);

         do

         {

                  skors();

                  gotoxy(xm,ym);

                  cprintf("$");

                  cetaku();

                  bentukarah();

                  if(kbhit())

                  {

                           tombol=getch();

                           if(tombol==0)

                           {

                                    tombol=getch();

                                    if(tombol==75)

                                    {

                                             if(arah==3 || arah==4 || arah==0)

                                                      arah=2;

                                    }

                                    else if(tombol==77)

                                    {

                                             if(arah==3 || arah==4 || arah==0)

                                                      arah=1;

                                    }

                                    else if(tombol==72)

                                    {

                                             if(arah==1 || arah==2)

                                                      arah=3;

                                    }

                                    else if(tombol==80)

                                    {

                                             if(arah==1 || arah==2)

                                                      arah=4;

                                    }

                           }

                  }

                  if(x[0]==2 || x[0]==50 || y[0]==1 || y[0]==24)

                  {

                           gotoxy(20,12);

                           cout<<"Game Over";

                           tombol=27;

                  }

                  if(x[0]==xm && y[0]==ym && arah!=0)

                  {

                           skor=skor+10;

                           x[pj+1]=x[pj];

                           y[pj+1]=y[pj];

                           pj=pj+1;

                           xm=random(45)+5;

                           ym=random(15)+5;

                  }

                  waktu++;

                  if(waktu%(1000/speed)==0)

                           w=w+1;

                  if(pj==9)

                  {

                           pj=3;

                           if(speed>=60)

                                    speed=speed-10;

                           level=level+1;

                  }

         }while(tombol!=27);

         getch();


}


void cetaku()

{

         for(p=0;p<=pj;p++)

         {

                  gotoxy(x[p],y[p]);

                  cprintf("x");

         }

         delay(100);

         for(p=0;p<=pj;p++)

         {

                  gotoxy(x[p],y[p]);

                  cprintf(" ");

         }

}


void bentukarah()

{

          for(p=pj;p>0;p--)

         {

                  x[p]=x[p-1];

                  y[p]=y[p-1];

         }

         if(arah==1)

                  x[0]=x[0]+1;

         else if(arah==2)

                  x[0]=x[0]-1;

         else if(arah==3)

                  y[0]=y[0]-1;

         else if(arah==4)

                  y[0]=y[0]+1;

 }


void skors()

{

         gotoxy(53,3);

         cout<<"Skor : "<<skor;

         gotoxy(53,5);

         cout<<"Time : "<<w;

         gotoxy(53,7);

         cout<<"Level : "<<level;

}


 


Untuk VB.Net Inini kodenya


Module Module1


Dim p, tombol, pj

Dim x(10), y(10)

Dim badan(10)

Dim xm, ym

Dim skor, speed

Dim arah

Dim ax, ay

Dim waktu, w, level


Sub main()


         Console.BackgroundColor = ConsoleColor.Black

         Console.Clear()

         waktu = 0

         arah = 0

         w = 0

         speed = 200

         Randomize()

         level = 0

         skor = 0

         Console.CursorVisible = False

         ax = 1

         ay = 0

         pj = 2

         xm = CInt(Rnd() * 45) + 5

         ym = CInt(Rnd() * 15) + 5

         skor = 0

         For p = 0 To pj

                   x(pj - p) = p + 2

                  y(p) = 12

         Next

         Dim ss

         Console.BackgroundColor = ConsoleColor.Cyan

         For ss = 1 To 51

                  Console.CursorTop = 1

                  Console.CursorLeft = ss

                  Console.Write(" ")

                  Console.CursorTop = 24

                  Console.CursorLeft = ss

                  Console.Write(" ")

         Next

         For ss = 1 To 24

                  Console.CursorTop = ss

                  Console.CursorLeft = 1

                  Console.Write(" ")

                  Console.CursorTop = ss

                  Console.CursorLeft = 51

                  Console.Write(" ")

         Next

         Console.BackgroundColor = ConsoleColor.Black

         Do

                   skors()

                  Console.CursorTop = ym

                  Console.CursorLeft = xm

                  Console.Write("$")

                  cetaku()

                  bentukarah()

                  If (Console.KeyAvailable) Then

                           tombol = Console.ReadKey.Key

                           If (tombol = 37) Then

                                    If (arah = 3 Or arah = 4 Or arah = 0) Then arah = 2

                           ElseIf (tombol = 39) Then

                                    If (arah = 3 Or arah = 4 Or arah = 0) Then arah = 1

                           ElseIf (tombol = 38) Then

                                    If (arah = 1 Or arah = 2) Then arah = 3

                           ElseIf (tombol = 40) Then

                                    If (arah = 1 Or arah = 2) Then arah = 4

                           End If

               End If

         If (x(0) = 2 Or x(0) = 50 Or y(0) = 1 Or y(0) = 24) Then

                  Console.CursorTop = 12

                  Console.CursorLeft = 20

                  Console.Write("Game Over")

                  tombol = 27

         End If

         If (x(0) = xm And y(0) = ym And arah <> 0) Then

                  skor = skor + 10

                  x(pj + 1) = x(pj)

                  y(pj + 1) = y(pj)

                  pj = pj + 1

                  xm = CInt(Rnd() * 45) + 5

                  ym = CInt(Rnd() * 15) + 5

         End If

         waktu = waktu + 1

         If (waktu Mod (1000 / speed) = 0) Then

                  w = w + 1

                  If (pj = 9) Then

                            pj = 3

                          If (speed >= 60) Then speed = speed - 10

                           level = level + 1

                    End If

           End If


         Loop While (tombol <> 27)

         Console.ReadKey()

End Sub



Sub cetaku()

         For p = 0 To pj

                   Console.CursorTop = y(p)

                  Console.CursorLeft = x(p)

                  Console.Write("x")

         Next

         System.Threading.Thread.Sleep(100)

         For p = 0 To pj

                  Console.CursorTop = y(p)

                  Console.CursorLeft = x(p)

                  Console.Write(" ")

         Next

End Sub


Sub bentukarah()

         For p = pj To 1 Step -1

                  x(p) = x(p - 1)

                  y(p) = y(p - 1)

         Next

         If (arah = 1) Then

                  x(0) = x(0) + 1

         ElseIf (arah = 2) Then

                  x(0) = x(0) - 1

         ElseIf (arah = 3) Then

                  y(0) = y(0) - 1

         ElseIf (arah = 4) Then

                  y(0) = y(0) + 1

         End If

End Sub



sub skors()

         Console.CursorTop = 3

         Console.CursorLeft = 53

         Console.Write("Skor : " & skor)

         Console.CursorTop = 5

         Console.CursorLeft = 53

         Console.Write("Time : " & w)

         Console.CursorTop = 7

         Console.CursorLeft = 53

         Console.Write("Level : " & level)

End Sub



End Module

Rabu, 19 November 2008

Perbedaan Excel2003 dan Excel 2007

Saya coba memaparkan perbandingan antara Excel 2003 dan Excel 2007.
  • Jumlah baris

  • Excel 2003 hanya menyediakan 65,536 baris, sedangkan Excel 2007 menyediakan 1,048,576 baris.

  • Jumlah kolom

  • Excel 2003 menyediakan 256 kolom, sedangkan Excel 2007 menyediakan 16,384 kolom.

  • tabel

  • Harus diakui, Excel 2007 memiliki berbagai format tabel yang menarik dan siap pakai.

  • Formula

  • Excel 2007 memiliki banyak tambahan formula.

  • Penampilan grafik / chart

  • Excel 2007 memiliki tampilan menakjubkan untuk grafik / chart. Warna defaultnya juga menarik dibandingkan versi Excel yang lebih lama.

  • Membuka / menutup file


  • Jika Dibandingkan dengan Excel 2003, dengan spesifikasi komputer yang sama dan file yang sama, performa Excel 2007 dalam aktivitas ini lebih lambat dibanding pendahulunya.

  • Export atau save as ke .dbf

  • Di Excel 2007 tidak ditemukan fitur untuk export atau save as ke format .dbf.

  • Variasi pada conditional formatting

  • Jika di Excel 2003, conditional formatting hanya mengubah warna font, cell, border, dan lain-lain, di Excel 2007 Anda bisa menambahkan data bar, icon sets, color scales, atau kombinasinya.

    Selasa, 18 November 2008

    Penggunaan Animasi Pada Ms PowerPoint 2007

    Walaupun kita menggunakan PowerPoint kalau hanya slide yang statis tidak jauh bedanya dengan slide transparan yang menggunakan OHP (overhead projector). Ms PowerPoint memiliki banyak keunggulan untuk melakukan presentasi yang kreatif dengan menampilka dalam bentuk animasi.

    Kegunaan dari Penggunaan efek animasi pada slide

    • Jauh lebih menarik
    • Memperjelas isi presentasi,

    Animasi pada Ms PowerPoint ada tiga macam, yaitu:

    Gambar animasi (animasi gif, flash, atau movie),
    custom animation : menyediakan fasilitas untuk memilih dan mengatur efek animasi sesuai dengan kebutuhan
    Slide transition : Sedangkan slide transition adalah animasi perpindahan antar slide

    Beberapa saran dalam pembuatan animasi

    Jika anda hendak memberikan efek animasi pada slide anda, saya akan berikan beberapa saran yang bisa anda coba

    • Efek Animasi jangan sampai berlebihan
    • Efek Aniamsi disesuaikan dengan isi presentasi
    • Perhatikan waktu atau lamanya animasi.
    • Apabila slide presentasi dipakai seorang pembicara untuk menjelaskan hindari penggunaan suara yang berlebihan (lebih bagus tidak ada suara)

    Panel Animasi

    Pada PowerPoint 2007 efek animasi dikumpul di dalam sebuah panel yang dibernama Animation















    Gbr: Animation, custom animastion, add effect



    Ribbon

    Salah satu perbedaan yang sangat berarti antara Microsoft Office versi sebelumnya dengan Microsoft Office 2007 adalah dengan adanya Ribbon. Pada versi sebelumnya Microsoft masih menggunakan menu yang di dalamnya terdapat beberapa sub menu. Dengan adanya sub menu-sub menu ini pemakai jarang yang bisa memanfaatkan fasilitas tersebut secara maksimal karena tidak sedikit submenu-submenu tersebut tersembunyi dan tidak tersentuh oleh pemakai.
    Ribbon adalah suatu cara baru untuk mengelompokkan menu dalam toolbar. Dengan fasilitas ini pemakai tidak lagi direpotkan dengan bermacam-macam menu berbasis teks karena menu-menu dikelompokkan pada toolbar berupa icon-icon.
    Kelebihan menu Ribbon adalah masing-masing menu dapat diakses dengan satu kali klik dan tidak perlu harus keluar masuk menu untuk menemukan fasilitas yang diperlukan. Selain itu fasilitas Ribbon bisa ditampilkan atau disembunyikan sesuai selera dengan menekan atau mengklik dua kali di tab menu mana saja untuk menyembunyikanya. Begitu juga untuk menampilkan kembali menu-menu tersebut klik dua kali di salah satu menu yang ada di ikon untuk menampilkan kembali ikon-ikon yang ada.

    Jumat, 14 November 2008

    Game Snack Versi VBnet

    Module Module1

    Sub Main()
    Dim x, y, ax, ay, skor, i
    Dim x2, y2
    Randomize()
    Dim s
    s = 300
    x2 = CInt(Rnd() * 70) + 2
    y2 = CInt(Rnd() * 21) + 2
    Dim tombol As Integer
    For i = 1 To 24
    Console.BackgroundColor = ConsoleColor.Blue
    Console.CursorLeft = 0
    Console.CursorTop = i
    Console.Write(" ")
    Console.CursorLeft = 78
    Console.CursorTop = i
    Console.Write(" ")
    Next
    For i = 0 To 78
    Console.CursorLeft = i
    Console.CursorTop = 1
    Console.Write(" ")
    Console.CursorLeft = i
    Console.CursorTop = 24
    Console.Write(" ")
    Next
    skor = 0
    x = 40
    y = 12
    ax = 0
    ay = 0
    Console.BackgroundColor = ConsoleColor.Black
    Do
    Console.CursorLeft = x2
    Console.CursorTop = y2
    Console.Write("$")
    Console.CursorLeft = 10
    Console.CursorTop = 0
    Console.Write("skor : " & skor)
    Console.CursorLeft = x
    Console.CursorTop = y
    Console.Write("~")
    System.Threading.Thread.Sleep(s)
    Console.CursorLeft = x2
    Console.CursorTop = y2
    Console.Write(" ")
    Console.CursorLeft = x
    Console.CursorTop = y
    Console.Write(" ")
    x = x + ax
    y = y + ay
    If (Console.KeyAvailable) Then
    tombol = Console.ReadKey.Key
    If tombol = 38 Then
    ay = -1
    ax = 0
    ElseIf tombol = 40 Then
    ay = 1
    ax = 0
    ElseIf tombol = 37 Then
    ay = 0
    ax = -1
    ElseIf tombol = 39 Then
    ay = 0
    ax = 1
    End If
    End If
    If (y <= 1 Or x <= 1 Or x >= 78 Or y >= 24) Then
    Console.CursorTop = 12
    Console.CursorLeft = 30
    Console.Write("Game Over")
    tombol = Console.ReadKey.Key
    If tombol <> 32 Then
    tombol = 27
    Else
    skor = 0
    Console.CursorTop = 12
    Console.CursorLeft = 30
    Console.Write(" ")
    x = 40
    y = 12
    ax = 0
    ay = 0
    End If
    End If
    If x = x2 And y = y2 Then
    skor = skor + 10
    x2 = CInt(Rnd() * 70) + 2
    y2 = CInt(Rnd() * 21) + 2

    End If
    Loop While (tombol <> 27)
    Console.ReadKey()
    End Sub

    End Module
     

    Berlangganan

    Enter your email address:

    Delivered by FeedBurner

    Belajar Tik


    Pengikut

    Komentar Terbaru

    Belajar Tik
    Tempatnya Belajar Teknologi Informasi dan Komunikasi

    Administrator By : 3eta