Jumat, 29 Maret 2013

Perbedaan perbedaan syntax


Bagi anda yang sedang belajar C/C++ pasti sering menggunakan fungsi getch() ataupun getche(). Dari pengalaman saya banayak dosen Pemrograman yang kurang detail dalam menjelaskan kegunaan dari fungsi getch() ini. Nah untuk menambah pengetahuan, saya ingin sharing tentang fungsi getch ()dan getche().
Dari pengalaman saya, kebanyakan dosen pemrograman menjelaskan kegunaan dari fungsi getch() ini hanya digunakan untuk menghentikan suatu proses yang berjalan. Namun kegunaan fungsi getch() sebenarnya lebih dari itu, fungsi getch sebenarnya merupakan fungsi yang digunakan untuk membaca input dari keyboard. getch() ini merupakan kepanjangan dari Get Character. Dan karakter yang diambil oleh fungsi getch ini tidak akan ditampilkan pada console. Adapun karakter yang diambil dari keyboard hanya satu karakter.
Berikut adalah contohnya :
#include
#include
main()
{
char a;
printf(“Tekan sebuah tombol pada keyboard!”);
a=getch();
printf(“\nTombol yang baru anda tekan adalah %c”,a);
getch();
}
 pada syntax a=getch(); artinya apapun yang ditekan pada keyboard akan disimpan ke dalam variabel a. salah satu kegunaan fungsi getch() ini adalah untuk masking password.
Lalu apa perbedaan fungsi getch() dan getche()? Seperti yang dijelaskan tadi getch() merupakan kepanjangan dari Get Character, sedangkan untuk getche() merupakan kepanjangan dari Get Character And Echo. Pada fungsi getch() tombol yang kita tekan pada keyboard tidak akan ditampilkan pada console (kecuali kita panggil variabelnya dengan fungsi printf atau fungsi output lainnya), namun untuk getche() tombol yang kita tekan akan langsung ditampilkan pada console. Berikut adalah contohnya:
#include
#include
main()
{
char a;
printf(“Tekan sebuah tombol pada keyboard!”);
a=getche();
printf(“\nTombol yang baru anda tekan adalah %c”,a);
getch();
}

Pada bahasa pemrograman Pascal. Perintah yang digunakan untuk menampilkan output adalah write dan writeln, sedangkan untuk keperluan input (membaca input) atau menerima input digunakan identifier standar READ atau READLN. Identifier standar Readln sedikit berbeda dengan Read. Perintah input dan output tersebut akan dibahas satu persatu secara detail sebagai berikut:
  1. WRITE
Perintah write digunakan untuk menuliskan output, dengan posisi cursor – penunjuk aktif, terletak pada akhir output yang ditampilkan pada baris yang sama. Write tidak menambahkan CR setelah menampilkan data semua argument. Write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama.

Syntax :
write(’yang akan dituliskan’);
write(variabel);
write(‘tulisan, variabel);
Contoh program:
Listing Program 1.1
program nothelloworld;
begin
write(‘not a hello world’);
end.

  1. WRITELN
Perintah writeln digunakan untuk menuliskan output, dengan posisi cursor – penunjuk aktif, terletak pada awal baris berikutnya. Writeln menambahkan CR setelah menampilkan data semua argument. Writeln digunakan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya. Argumen perintah writeln boleh berupa ekspresi. Contoh perintah penyajian writeln(‘Luas = ‘, luasPSP); bisa dikerjakan dengan perintah: writeln(‘Luas = ‘, panjangPSP * lebarPSP);

Syntax :
writeln(’yang akan dituliskan’);
write(variabel);
write(‘tulisan, variabel);
Contoh program:
Listing Program 1.2
program nothelloworld;
begin
writeln(‘not a hello world’);
end.

  • WRITE dan WRITELN dapat menerima:
    • Argumen bertipe dasar, jumlah argumen bisa lebih dari satu.
    • Suatu ekspresi
    • Tanpa argumen
Writeln (20.13) {argumen bertipe real}
Writeln (678) {argumen bertipe integer}
Writeln (True) {argumen bertipe boolean}
Writeln (‘A’) {argumen bertipe char}
Writeln (‘Turbo Pascal’) {argumen bertipe string}
writeln (2 * 3 + 4) {suatu ekspresi}
writeln (‘Jumlah barang : ‘,jumlahbarang) {lebih dari satu ekspresi}
Writeln (‘ ‘); {tanpa argumen}
Writeln ; {tanpa argumen}
  • Argumen perintah writeln boleh berupa ekspresi. Contoh perintah penyajian writeln(‘Luas = ‘, luasPSP); bisa dikerjakan dengan perintah: writeln(‘Luas = ‘, panjangPSP * lebarPSP);

  • Format Output dari Write atau Writeln
Ada dua format :
  • data : n pada umumnya
  • data : lebar_total : lebar_pecahan bilangan real

writeln (’12345678901234567890′);
writeln (‘Yogya’: 10);
writeln (‘A’ : 8);
writeln (True : 8);
writeln (123 : 8);
writeln (-123 : 8);
writeln (1234.5678 :8);
writeln (1234.5678 :12:5);
writeln (1234.5678 :13:5);
writeln (1234.5678 :13:4);
writeln (1234.5678 :13:0);
writeln (1234.5678 :7:5);
writeln (True : 2);

  • Bentuk umum penulisannya :

WRITE (variabel output); WRITELN (variabel output);


  1. READ
Perintah read digunakan untuk menerima input, dengan posisi cursor – penunjuk aktif, setelah diberi input pada baris berikutnya. Read tidak membaca end of line marker. Pernyataan ini tidak akan membuang kelebihan data. Kelebihan data akan diberikan pada read atau readln berikutnya. Read tidak ganti baris, masih dalam baris yang sama

Syntax :
read(variabel);
Contoh program:
Listing Progra 1.3
program nothelloworld;
var
s : integer;
begin
write(‘not a hello world ’);
read(s);
write(s*s);
end.

  1. READLN
Perintah readln tidak terlalu jauh berbeda dengan perintah read. Readln membaca end of line marker. Pernyataan ini menyebabkan kelebihan data akan dibuang (tidak diberikan ke read atau readln berikutnya). Readln juga digunakan untuk memasukkan data perbaris, artinya setelah tombol Enter ditekan, maka akan ganti baris,

Syntax :
readln(variabel);
Contoh program:
Listing Program 1. 4
program nothelloworld;
var
s : integer;
begin
write(‘not a hello world ’);
readln(s);
write(s*s);
end.

  • READ dan READLN tidak dapat dipakai untuk memasukkan semua jenis data. Data bilangan, string maupun karakter dapat ditangani oleh kedua pernyataan ini.
  • Perintah read atau readln dapat digunakan untuk membaca data lebih dari satu sekaligus dengan berbagai format.
  • Bentuk umum penulisannya :

READ (variabel input) ; READLN (variabel output);

Ada banyak contoh yang dapat kita pelajari. Di bawah ini adalah beberapa contoh yang dapat kita pelajari dan mencobanya.
  • Menggunakan Readln dan Writeln
Program MasukkanData; (*Layar*)
Var
A, B : Integer;
C : Real;
D : String[10];
E : Char;

BEGIN
(* Memasukkan data untuk masing-masing variabel *)
ReadLn(A);
ReadLn(B);
ReadLn(C);
ReadLn(D);
ReadLn(E);

(* Menampilkan data yang dimasukkan *)
WriteLn;
WriteLn(‘A = ‘,A,’ B = ‘,B,’ C = ‘,C);
WriteLn(‘D = ‘,D);
WriteLn(‘E = ‘,E);
End.

50
12345
12345
HALO
HALO JUGA
A = 50 B = 12345 C = 1.2345000000E+04
D = HALO
E = H

  • Menggunakan Read, write, dan Writeln

Program MasukData; (* Input, Output *)
(*Program untuk mengkonversikan dari derajat celcius menjadi derajad fahrenheit *)
Var
C, F : Real;
Begin
Write(‘ Berapa Celcius ? ‘);
ReadLn(C);
F := 1.8 * C + 32;
WriteLn;
WriteLn(C,’ Celcius adalah ‘,F,’ Fahrenheit’);
End.

Berapa Celcius ? 10
1.0000000000E+01 Celcius adalah 5.0000000000E+01 Fahrenheit


  • Menggunakan Readln, write, dan Writeln
Var
Sisi, panjang, luas : integer ;
Begin
Write (‘Masukkan sisi persegi panjang =’);
Readln (sisi) ;
Write (‘Masukkan panjang persegi panjang =’);
Readln (panjang) ;
Luas : = sisi x panjang ;
Writeln (‘Luas persegi panjang adalah’, Luas) ;
End.

Output program :
Masukkan sisi persegi panjang = 10 �� data yg diinput melalui keyboard
Masukkan panjang persegi panjang = 10
Luas persegi panjang adalah 100

  • Menggunakan write
VAR nama : string{15};
BEGIN nama := ‘Dewi’;
write(‘nama : ‘);
write(nama);
END.

Nama : Dewi

  • Menggunakan writeln
VAR nama : string{15};
BEGIN nama := ‘Dewi”;
WriteLn(‘Nama : ‘);
WriteLn(Nama);
END.

Nama :
Dewi

  • Menggunakan write dan writeln
write (‘Selamat Belajar’);
writeln (‘Pascal’);
write (‘Semoga Sukses’);

Dalam layar akan ditampilkan:
Selamat Belajar Pascal
Semoga Sukses

HATI-HATI
Kesalahan Pada Program
Ada dua jenis kesalahan yang mungkin terjadi pada
program, yaitu:
1. Kesalahan sintaks/tatabahasa (syntax error)
2. Kesalahan logika (logical error)

Tidak ada komentar: