Untuk mempelajari program komputer agar dapat membuat
program dengan benar dan dapat mengembangkannya,langkah pertama yang harus
diketahui adalah mengenai struktur dari program, langkah kedua adalah
elemen-elemen pembentuk program tersebut.
Suatu
program pascal dapat mempunyai elemen-elemen sebagai berikut:
1. Symbol-simbol
dasar (basic symbol)
2. Kata-kata
cadangan (reserved words)
3. Pengenal
yang didefinisikan oleh pemakai (user define identifier)
4. Data
5. Karakter
kontrol (control character)
6. Tanda
operasi (operator)
7. Komentar
program (comment)
8. Statemen
(statement)
9. Prosedur
(procedure)
10. Fungsi
(function)
Okey, yang mau kita bahas sekarang, operator..,
*hello anda
terhubung dengan operator,,
oh no, bukan yang itu say,,
as you can see in the
beginning,
operator disini,
tanda-tanda operasi,
tapi bukan kaya operasi mba
dokter atau mas dokter loh..,,
yang ini beda.
*yaeyalah..,
oke dech kaka..
check this out!! .
Tanda operasi (operator) di dalam bahasa pascal khususnya,
dikelompokkan kedalam 9 kategori,yaitu:
1. Assigment
Operator
Assigment operator (operator pengerjaan), adalah instruksi primitif
algoritmik untuk menyimpan harga pada suatu nama informasi yang isinya boleh
bervariasi (“variabel”), atau dengan perkataan lain adalah memberikan harga
pada suatu nama variabel. Dengan pemberian harga ini, harga lama yang disimpan
tidak lagi berlaku, yang berlaku adalah harga paling akhir yang diberikan.
Notasialgoritmik untuk assignment adalah seperti berikut:
Dengan syarat:
• bagian
kiri dan bagian kanan tanda pemberian harga (← ) bertype sama
• <nama>
dan <nama1> (bagian kiri tanda ← ) harus merupakan nama
informasi, tidak boleh nama konstanta, type, fungsi atau prosedur
• nama
yang tertulis di bagian kanan tanda ← (misalnya nama2 atau nama konstanta atau
nama yang dipakai dalam ekspresi) boleh berupa nama informasi, nama fungsi,
nama konstanta
• semua
nama yang dipakai dalam assignment tidak boleh berupa nama type atau nama
prosedur
Pada bahasa pascal, menggunakan symbol titik dua
diikuti oleh tanda sama dengan (:=).
Contoh:
2. Binary
Operator
Disebut dengan binary operator (tanda
operasi biner) karena operator ini digunakan untuk mengoperasikan dua buah
operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini
digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real . dapat dituliskan dalam 3 macam notasi, yaitu :
• Notasi
infix: operan1 operator operan2
• Notasi
prefix: operator operan1 operan2
• Notasi
suffix/Polish: operan1 operan2 operator
Contoh:
• infix
:
13 * 5
((3 * 5) + (4 div 7) )- (a * b)
• prefix
:
* 13 5
- +* 3 5 div 4 7 * a b
• suffix/Polish
:
13 5 *
3 5 * 4 7 div a b * + -
Tabel 2.1. Binary operator.
Contoh:
Program 2.2. Penggunaan
operator biner pada bahasa pemograman pascal.
Bila program ini dijalankan, akan didapat hasil:
Operator Div digunakan untuk pembagian dengan
hasil yang dibulatkan kebawah atau dengan kata lain semua pecahan dibuang. Jadi
hasil pembagian 20 dengan 3 menggunakan operator Div akan dihasilkan niali 6. Operator Mod digunakan untuk menghasilkan sisa pembagian. Sisa pembagian 20
dengan 3 adalah 2.
3. Unary
Operator
Disebut dengan unary operator, karena operator ini hanya menggunakan
sebuah operand saja. Unary operator dapat berupa unary minus dan unary plus.
Unary minus adalah operator yang berupa tanda minus yang hanya digunakan pada
sebuah numeric operand saja untuk menunjukkan nilai negative, baik pada operand
numeric real maupun numeric integer. Unary plus adalah operator untuk member
tanda plus.
Contoh:
4. Bitwise
Operator
Bitwise operator digunakan untuk operasi bit per bit pada nilai integer.
Tabel 4.1. Bitwise operator
·
Operator NOT
Operator yang digunakan untuk pembalikan bitwise, yaitu nilai bit 1
menjadi bit 0 dan sebaliknya nilai bit 0 menjadi bit 1.
Contoh:
Program 4.1. Penggunaan operator NOT pada bahasa
pemograman pascal.
Bila program ini dijalankan, akan didapat hasil:
Nilai dari Not 0 adalah -1. Nilai 0 tersebut
akan tersimpan di memori dengan bentuk bilangan binary:
0000000000000000
Operator Not akan membalik nilai-nilai bit
(bit wise), yang bernilai 1 menjadi 0 dan sebaliknya yang bernilai 0 menjadi 1,
sehingga Not 0 adalah:
Bit yang paling kanan adalah sign bit, bit yang
menunjukkan tanda positip (bila nol adalah positip) atau negatip (bila satu
adalah negatip). Pada contoh sign bit bernilai satu, berarti menunjukkan nilai
negatip. Turbo pascal menggunakan cara komplemen dua (two complement.), yaitu bila nilainya negatip diartikan sebagai berikut:
Ø
Nilai tersebut
dikurangi dengan nilai bit 1, sebagai berikut:
Ø
Kemudian semua nilai
dibalik,sehingga didapat nilai:
Ø
Nilai 5 dalam bentuk
bilangan binary adalah:
Ø
Nilai Not 5 berarti
semua bit dibalik menjadi:
·
OperatorAND
Operator and
digunakan untukmembandingkan dua buah elemen, hasulnya akan benar bila keduanya
benar. Bila logika benar diberi symbol 1 dan logika salah diberi symbol 0, maka
hubungan operator And tampak pada
table sebagai berikut :
Tabel 4.2 Hubungan operator And
Contoh:
Program 4.2. Penggunaan operator And pada bahasa
pemograman pascal.
Bila program ini dijalankan,
akan didapat hasil:
Operator And bekerja dengan membandingkan bit demi bit dari elemen-elemen
yang dibandingkan sebagai berikut:
·
Operator OR
Operator OR digunakan untuk membandingkan dua buah elemen, hasilnya akan
benar bila salah satu atau keduanya benar. Bila logika benar diberi symbol 1
dan logika salah diberi symbol 0, maka hubungan operator OR tampak pada table sebagai berikut :
Contoh:
Bila program ini dijalankan, akan didapatkan hasil:
·
Operator XOR
Operator XOR digunakan untuk
membandingkan dua buah elemen, hasilnya akan benar bila salah satunya saja yang
benare. Bila logika benar diberi symbol 1 dan logika salah diberi symbol 0,
maka hubungan operator XOR tampak
pada table sebagai berikut :
5. Relational
Operator
Relational operator digunakan untuk membandingkan hubungan antara dua
buah operand dan akan didapatkan hasil tipe Boolean, yaitu true atau false.
Bila program ini dijalankan, akan didapatkan hasil:
6. Logical
Operator
Bentiuk operator ini sama dengan bitwise operator, tetapi penggunaannya
lain. Logical operator bekerja dengan nilai logika, true or false
7. Address
Operator
Turbo pascal memberikan dua buah operator khusus yang
berhubungan dengan alamat (address)
di memori, yaitu addres-of operator
(@) dan indirection operator (^).
Operator @ akan menghasilkan alamat dari suatu nilai variabel dan operator ^
akan memberikan nilai di alamart yang ditunjukkan.
Contoh:
Bila Program ini dijalankan, akan
didapatkan hasil:
Variabel Nama diisi dengan nilai string ‘Jogiyanto H.M’ dan pointer
LetakNama diisi dengan alamat nilai yang dikandung oleh variabel Nama. Dengan
demikian kedua statemen yang menggunakan prosedur standar WriteLn tersebut mempunyai arti dan hasil yang sama. Statemen WriteLn yang pertama akan menampilkan
isi dari variabel Nama, yaitu nilai string ‘Jogiyanto H.M’ dan statemen WriteLn yang kedua akan langsung
mengambil nilai string ‘Jogiyanto H.M’ terseut di memori tempat disimpannya.
8. Set
Operator
Set operator (operator
himpunan) digunakan untuk operasi himpunan.
Tabel Set Operator
Operator
|
Operasi
|
+
|
Union
|
-
|
Perbedaan
himpunan
|
*
|
Perkalian
himpunan
|
Contoh:
Type
SetDigit = set of 1..10;
SetHuruf = set of char;
Var
Desimal :
SetDigit;
Hexadesimal : SetHuruf;
Begin
Hexadesimal := Desimal + [‘A’..’F’];
End.
|
Hasil dari program penjumlahan ini adalah set ketiga yang mempunyai nilai anggota pertama dan anggota-anggota
set ke-2. Misalnya union dari
[1,2,3,4] dengan [3,4,5,6,7] hasilnya adalah [1,2,3,4,5,6,7].
9. String
Operator
String operator (operator string) digunakan untuk operasi string. Hanya
ada sebuah operator string saja, yaitu operator + yang digunakan untuk
menggabung duah buah nilai string.
Bila program ini dijalankan, akan didapat hasil;
Arief Kurniawan
Berikutnya kita
akan mengenal contoh-contoh tentang Array dan Record. So cekidot….eh salah,
check this out!!
1.
ARRAY
Array sebagaimana
string
adalah sebuah variabel yang meyimpan sekumpulan data yang memiliki tipe sama. setiap data tersebut menempati lokasi atau alamat memori yang berbeda-beda dan selanjutnya disebut dengan elemen array. Elemen array itu kemudian dapat kita akses melalui indeks yang terdapat didalamnya. Tetapi, berbeda dengan string yang
hanya dapat menyimpan data bertipe karakter (
char), maka
array dapat
digunakan untuk menyimpan berbagai tipe data seperti
int, float, long dan lain sebagainya. Dengan demikian, dapat
dikatakan bahwa array adalah tempat penyimpanan yang mempunyai bentuk yang
lebih umum dari string.
adapun bentuk umum pendeklarasian array pada pengunaan bahasa c++ adalah sebagai berikut:
tipe_data nama_array[jumlah_elemen];
sebagai contoh, jika kita ingin mendeklarasikan integer array (misalnya dengan nama LARIK) yang memiliki 25 elemen dengan tipe data int. maka pendeklarasiannnya adalah seperti yang tampak dibawah ini:
int LARIK[25];
ruang memori yang dibutuhkan untuk pendeklarasian array tersebut adalah 100 byte, yang berasal dari 25x4 byte (4 merupakan ukuran dari tipe data integer) sedangakn cara yang digunakan untuk mengakses elemennya adalah dengan menuliskan indeksnya. misalnya kita ingin mengambil nilai yang terdapat pada elemen ke-10 san menampung nilai tersebut kedalam sebuah variabel yang bertipe integer juga (misal X) maka sintax yang harus kita tulis adalah:
X=LARIK[9];
kenapa 9? bukan 10?,, karena indeks array selalu dimulai dari 0, sehingga untuk mengakses elemen ke-10, maka indeks yang kita butuhkan adalah 10-1 yaitu 9.
·
Mengisikan nilai ke dalam elemen array
Untuk mengisikan nilai kedalam
elemen array, kita dapat melakukannya
langsung seperti berikut:
A[0]=10
A[1]=20
A[2]=30
…
dst
namun cara ini tidak efisien, cara yang
lebih umum adalah menggunakan pengulangan (looping). Cara ini akan lebih cepat,
dibandingkan manual seprti diatas. Sebagai contoh, jika kita ingin melakukan
pengisian 25 elemen array, maka kita dapat mnuliskan sintak seperti dibawah
ini:
for(int C=0; C<25; C++){
cout<<”A[“<<C<<”]=”;cin>>A[C];
·
Menampilkan nilai yang terdapat pada array
Berikut program yang akan mengisikan dan
menampilkan nilai yang terdapat pada elemen array.
#include<iostream.h>
Int main()
{
//mendeklarasikan array A dengan 5
buah elemen bertipe int
Int A[5];
//mendeklarasikan nilai kedalam
elemen array
Cout<<”masukkan nilai yang
diinginkan”<<endl;
For(intC=0;C<5;C++)
{
cout<<”A[“<<C<<”]=”;cin>>A[C];
}
Cout<<’\n’;
//menampilkan nilai yang terdapat
pada elemen array
Cout<<”menampilkan niali yang
telah dimasukkan”<<endl;
For(intJ=0;J<5;J++){
Cout<<”nilai
yang terdapat pada elemen ke-“<<J+1<<”
“<<A[J]<<endl;
}
return 0;
}
Bila program ini dijalankan, akan didapatkan hasil:
Masukkan nilai yang diinginkan
A[0]= 10
A[1]= 21
A[2]= 13
A[3]= 35
A[4]= 28
Menampilkan nilai yang telah dimasukkan
Nilai yang terdapat pada elemen ke-1 : 10
Nilai yang terdapat pada elemen ke-1 : 21
Nilai yang terdapat pada elemen ke-1 : 13
Nilai yang terdapat pada elemen ke-1 : 35
Nilai yang terdapat pada elemen ke-1 : 28
·
Array dua dimensi
adalah array yang terdiri dari beberapa sub-script,yaitu baris dan kolom biasanya dipakai untuk pemrosesan matriks.bentuk umum array dua dimensi pada C++ adalah sebagai berikut:
tipe_data
nama_array [jumlah_elemen_baris] [jumlah_elemen_kolom];
misalnya jika kita akan melakukan penjumlahan matrix ordo 3x2, sintaksnya sebagai berikut:
Bila program ini dijalankan, akan didapatkan hasil:
·
Inisialisasi pada array multidimensi:
Bila program ini dijalankan, akan didapatkan hasil:
2.
RECORD
Pascal menyediakan suatu tipe
data terstruktur yang disebut dengan record.
Dengan tipe data record, dapat
dikumpulkan beberapa item data yang masing-masing dapat mempunyai tipe data
berbeda-beda. Masing-masing item data disebut dengan field. Jadi record terdiri dari kumpulan field yang
dapat berbeda tipe. Biasanya suatu record berisi beberapa field untuk sebuah
subyek tertentu. Misalnya record Langganan dapat terdiri dari field kode
langganan, nama langganan, alamat langganan dan besarnya piutang.
Contoh 1:
Type
Lgn = Record
Kode : integer;
Nama : string [35];
Alamat : string [45];
Piutang : real;
Var
Langganan : Lgn;
|
bila program ini dijalankan maka:
jari-hari lingkaran ? 10
keliling lingkaran = 62.83
luas lingkaran = 314.16
Dan yang
terakhir kita bisa akan mengetahui tabel kode ASCII untuk menambah ilmu
pengetahuan kita. Monggo dilihat… (klik untuk memperbesar)
Semoga bermanfaat!
Jogiyanto H.M: Turbo Pascal, Ando Offset, Yogyakarta.
Hartanto Budi: Pembuatan Program,
Andi, Yogyakarta.