Langkah-langkah Sistematis Dalam Pembuatan Suatu Program
1.
Mendefinisikan Permasalahan
Yang
dimaksud mendefinisikan permasalahan yaitu kita harus mengerti dengan
baik mengenai permasalahan apa yang ingin diselesaikan. Contoh:
a. Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.
b. Permasalahan menampilkan bilangan dengan kelipatan tertentu dari 0 hingga range tertentu.
a. Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.
b. Permasalahan menampilkan bilangan dengan kelipatan tertentu dari 0 hingga range tertentu.
2. Membuat
Rumusan untuk Pemecahan Masalah
yaitu membuat rumusan algoritma untuk memecahkan masalah. Rumusan tersebut dapat disusun dalam bentuk pseudocode ataupun flowchart. Contoh:
yaitu membuat rumusan algoritma untuk memecahkan masalah. Rumusan tersebut dapat disusun dalam bentuk pseudocode ataupun flowchart. Contoh:
a.
Untuk contoh menghitung luas lingkaran
b. Untuk
contoh menampilkan kelipatan
3.
Implementasi
Dalam mengimplementasi algoritma
kita akan menentukan bahasa pemrograman apa yang cocok atau ingin kita gunakan.
Misalnya Pascal atau Delphi, Basic, dan sebagainya. Implementasi tersebut
tentunya mengacu pada algoritma yang telah disusun pada langkah sebelumnya,
baik itu variable-variable yang digunakan maupun alur program. Jika program
diimplementasikan dengan bahasa pemrograman yang bersifat visual dan event
driven (melibatkan desain form dan event-event) seperti Visual Basic atau
Delphi, maka perlu pula diperhatikan langkah-langkah berikut:
1.
Menambahkan obyek-obyek control pada Form seperti EditBox, ComboBox, Button,
dll
2. Mengatur posisi control, properties kontrol (seperti caption, warna, jenis tulisan, dan
sebagainya), serta urutan fokus obyek-obyek yang ada pada form.
3. Pemberian nama obyek kontrol yang sesuai. Misalnya untuk input diameter diberi nama
txtDiameter.
4. Menentukan event-event kontrol yang berpengaruh pada fungsionalitas program
5. Mulai koding
4. Menguji Coba dan Membuat Dokumentasi
yaitu menguji program tersebut apakah telah berjalan sesuai dengan tujuannya untuk memberi solusi dari suatu permasalahan. Apabila program belum berjalan dengan baik, maka kita perlu mengkaji kembali rumusan/algoritma yang telah dibuat pada langkah kedua, serta memperbaiki implementasi program yang mungkin keliru. Untuk memudahkan dalam memeriksa kesalahan suatu program ataupun memahami jalannya program, kita juga perlu membuat dokumentasi dari program yang dibuat. Dokumentasi tersebut berisi informasi mulai dari tujuan/fungsi program, algoritma program, hingga cara menggunakannya.
2. Mengatur posisi control, properties kontrol (seperti caption, warna, jenis tulisan, dan
sebagainya), serta urutan fokus obyek-obyek yang ada pada form.
3. Pemberian nama obyek kontrol yang sesuai. Misalnya untuk input diameter diberi nama
txtDiameter.
4. Menentukan event-event kontrol yang berpengaruh pada fungsionalitas program
5. Mulai koding
4. Menguji Coba dan Membuat Dokumentasi
yaitu menguji program tersebut apakah telah berjalan sesuai dengan tujuannya untuk memberi solusi dari suatu permasalahan. Apabila program belum berjalan dengan baik, maka kita perlu mengkaji kembali rumusan/algoritma yang telah dibuat pada langkah kedua, serta memperbaiki implementasi program yang mungkin keliru. Untuk memudahkan dalam memeriksa kesalahan suatu program ataupun memahami jalannya program, kita juga perlu membuat dokumentasi dari program yang dibuat. Dokumentasi tersebut berisi informasi mulai dari tujuan/fungsi program, algoritma program, hingga cara menggunakannya.
Struktur
Bahasa Program Procedural
Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. yang memiliki dua bagian utama yaitu:
1. Bagian Deklarasi
Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. yang memiliki dua bagian utama yaitu:
1. Bagian Deklarasi
Bagian
deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu
variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program.
Selain itu, bagian deklarasi dapat juga digunakan untuk memberi nilai awal
suatu variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan
suatu nama kepada Compiler program. Berikut contoh deklarasi:
a.
Deklarasi Variable:

Penjelasan:
Untuk
mendeklarasikan variable pada Pascal, digunakan reserved word var, kemudian
diikuti dengan nama variable (identifier) yang ingin digunakan, dan kemudian
tipe data dari variable tersebut. Sedangkan pada C, deklarasi diawali dengan
tipe data variable baru diikuti dengan nama variable (identifier). Suatu
identifier harus diawali oleh karakter bukan angka, tetapi tidak boleh
mengandung karakter khusus seperti * , - + / \ = < > . ? & dan
sebagainya. Pada bahasa Pascal, identifier tidak bersifat case sensitive, maksudnya,
huruf besar ataupun huruf kecil dianggap sama. Sebaliknya pada Bahasa C,
identifier bersifat case sensitive, sehingga variable s dan S akan dianggap dua
identifier yang berbeda.
b. Deklarasi Konstanta pada Pascal maupun C:
const phi = 3.14;
Penjelasan:
Konstanta yaitu nilai yang tetap. Jadi jika mengacu pada contoh di atas, maka nilai phi tidak
dapat diubah-ubah dan akan selalu 3.14
c. Deklarasi Tipe Data Pascal (kiri) dan C (kanan):
Penjelasan:
Tipe Data dapat dikelompokkan menjadi:
1. Tipe Data sederhana
Yaitu tipe data yang paling kecil, yang hanya melibatkan satu
item data, misalnya tipe data integer, string, real, Boolean, dan sebagainya.
Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe data yang
didefinisikan sendiri tersebut diistilahkan enumerated data type (pada contoh
adalah type hari).
2.
Tipe Data terstruktur
Tipe data
terstruktur merupakan tipe data yang terdiri dari beberapa item data. Bentuk
dari tipe data ini dapat berupa array (terdiri dari item-item yang memiliki
tipe data yang sama) ataupun record (terdiri dari item-item yang boleh memiliki
tipe data yang berbeda). Pada contoh di atas, DataSiswa termasuk tipe data
terstruktur.
3.
Tipe Data Pointer
Tipe data
pointer digunakan untuk menunjuk pada alamat memory suatu data yang lain. Jadi
tipe data pointer pada dasarnya tidak menyimpan nilai data secara langsung,
melainkan hanya menyimpan alamat dimana data berada. Untuk contoh pada bahasa
Pascal, TDataSiswa merupakan
tipe data pointer. Pada
Bahasa C, untuk mendeklarasikan pointer untuk tipe data
DataSiswa pada variable yang bernama TDataSiswa, dapat dituliskan sebagai
berikut:
DataSiswa *TDataSiswa;
d. Deklarasi
Procedure/Function:

Penjelasan:
Jika melihat
pada contoh deklarasi pada bahasa C, mungkin timbul pertanyaan apa beda
prosedur dengan fungsi? Pada Bahasa C, semua sub program dianggap fungsi,
berbeda dengan Pascal yang menyertakan reserved
word procedure dan function untuk membedakan antara
keduanya.
Sebenarnya, perbedaan utama antara prosedur dan fungsi yaitu: prosedur adalah fungsi yang tidak mengembalikan suatu nilai. Sebaliknya fungsi adalah suatu prosedur yang mengembalikan nilai. Apabila mengacu pada contoh di atas, maka fungsi tambah akan mengembalikan suatu nilai yang bertipe integer, sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa. Pada Bahasa C, procedure pada dasarnya adalah function yang mengembalikan void alias tidak mengembalikan nilai apa-apa.
Sebenarnya, perbedaan utama antara prosedur dan fungsi yaitu: prosedur adalah fungsi yang tidak mengembalikan suatu nilai. Sebaliknya fungsi adalah suatu prosedur yang mengembalikan nilai. Apabila mengacu pada contoh di atas, maka fungsi tambah akan mengembalikan suatu nilai yang bertipe integer, sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa. Pada Bahasa C, procedure pada dasarnya adalah function yang mengembalikan void alias tidak mengembalikan nilai apa-apa.
2. Bagian Statement
Bagian
statement merupakan bagian program yang berisi perintah yang akan
dieksekusi/dijalankan. Pada bahasa Pascal, bagian statement selalu diawali
dengan reserved word begin dan end. Apabila blok statement adalah blok utama
program, maka reserved word end harus diakhiri dengan tanda titik(.),
sebaliknya jika blok statement bukan blok utama program maka reserved word end
diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari
deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda
kurung kurawal { dan }.
Berikut adalah contoh potongan kode untuk implementasi menghitung luas lingkaran dengan Bahasa Pascal (kiri) dan Bahasa C (kanan).
Berikut adalah contoh potongan kode untuk implementasi menghitung luas lingkaran dengan Bahasa Pascal (kiri) dan Bahasa C (kanan).
Berikut adalah
penjelasan baris demi baris dari potongan kode Pascal:
1. uses crt;
Reserved word uses digunakan untuk mengincludekan library ke dalam program. Terdapat
cukup banyak Library/Unit standar yang ada pada Pascal, antara lain untuk
menangani perhitungan matematika, manipulasi
strings, dan sebagainya.
2. const phi = 3.14;
Baris kedua ini
digunakan untuk mendeklarasikan konstanta phi
3. var diameter, radius,
Luas : real;
Baris ketiga ini digunakan untuk
mendeklarasikan variable diameter, radius, dan luas dengan tipe data real (bilangan pecahan)
4. begin
Baris ini menandakan
blok statement dimulai
5. readln(diameter);
Baris kelima berisi
perintah readln yang berfungsi untuk meminta input dari user, dan kemudian disimpan
ke variable diameter.
6. radius := diameter / 2;
Baris keenam ini melakukan operasi
pembagian diameter dengan dua, kemudian hasilnya disimpan pada variable radius (untuk mendapatkan jari-jari dari
diameter).
7. Luas := phi * radius * radius;
Baris ini kembali
melakukan operasi matematika yang berfungsi untuk menghitung luas.
8. writeln(Luas);
Baris ini digunakan
untuk mencetak isi variable Luas ke layar
9. end.
Baris ini menandakan
akhir dari blok statement utama.
Berikut adalah
penjelasan baris demi baris dari potongan kode Bahasa C untuk contoh di atas.
1. #include
Baris di awal program ini mengincludekan header library stdio ke dalam program.
Seperti
halnya Pascal, Bahasa C juga memiliki cukup banyak library standar yang dapat digunakan.
halnya Pascal, Bahasa C juga memiliki cukup banyak library standar yang dapat digunakan.
2. void main()
Baris kedua ini menandakan awal dari blok
statement utama. Pada bahasa C, blok program utama
merupakan suatu fungsi/sub program yang diberi nama ‘main’.
3. { const phi = 3.14;
Pada awal baris ketiga ini, terdapat tanda
kurung kurawal sebagai pembuka blok statement. Kemudian reserved word const digunakan untuk mendeklarasikan
konstanta phi.
4. float diameter, radius, Luas;
Baris keempat ini
digunakan untuk mendeklarasikan variable diameter, radius, dan luas dengan tipe
data float (bilangan pecahan)
5. scanf(“%f”,
&diameter);
Baris kelima berisi perintah yang
berfungsi untuk meminta input bertipe float dari user, dan kemudian nilainya disimpan ke variable diameter.
6. radius = diameter / 2.0;
7. Luas = phi * radius * radius;
Baris keenam dan ketujuh
melakukan operasi matematika untuk menghitung luas lingkaran.
8. printf(“%f”,Luas);
Baris ini digunakan
untuk mencetak isi variable luas yang bertipe float.
9. }
Baris ini menandakan
akhir dari blok statement.
Pertemuan 4
Element-Element dalam Bahasa Pemrograman
2. Tipe data
3. Expression
4. Statement
5. Function dan Procedure
Kita akan membahas satu per satu element-element yang tersebut di atas.
1. Aturan Leksikal
Yang dimaksud aturan leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi, definisi, maupun statement hingga menjadi satu program yang utuh. Aturan ini meliputi beberapa element antara lain:
a. Token
b. Komentar
c. Identifier
d. Keywords (Reserved Words)
e. Operator
1.a. Token

Pada bahasa C, teks yang berada di antara tanda /* dan tanda */ akan dianggap sebagai komentar. Dan untuk teks yang ada setelah tanda // juga akan dianggap komentar satu baris. Berikut adalah contoh penggunaan komentar pada bahasa C:

1.c. Identifier
_Nama => Benar
No_Telpon => Benar
Bilangan2 => Benar
4data => Salah, karena diawali oleh karakter angka: 4data
Teks? => Salah, karena mengandung karakter khusus/special: Teks?
Tetapi sebagai catatan yang perlu diingat, identifier pada bahasa Pascal bersifat case insensitive (huruf besar dan huruf kecil dianggap sama), sedangkan pada bahasa C, identifier bersifat case sensitive (huruf besar dan huruf kecil dibedakan). Sebagai contoh, identifier No_Telpon dan no_telpon pada bahasa Pascal dianggap sama, sedangkan pada bahasa C, dianggap sebagai dua identifier yang berbeda.
1.d. Keywords (Reserved Words)
Keywords atau Reserved words merupakan kata-kata yang telah ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-kata tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah. Karena telah memiliki definisi tertentu, maka kata-kata ini tidak dapat digunakan sebagai identifier. Pada bahasa Pascal, yang termasuk reserved words antara lain:
and array asm begin case const div do downto else end file for forward
function goto if in label mod nil not of or packed procedure program
record repeat set string then to type unit until uses var while with
Pada bahasa C, yang termasuk reserved words antara lain:
break case char double else enum inline int long static struct switch while const continue default do float for goto if return short signed sizeof typedef union unsigned void
1.e. Operator
A = 10 + 5 * 2
Variable A akan memiliki nilai 30, diperoleh dari penjumlahan 10 dan 5, kemudian dikalikan 2.
Operator dapat dikategorikan menjadi beberapa jenis antara lain:
1. Arithmetic Operator
2. Assignment Operator
3. Bitwise dan Logical Operator
4. Relational Operator
5. Pointer Operator
1.e.1. Arithmetic Operator
Yang termasuk di dalam operator arithmetic yaitu operator yang digunakan untuk melakukan operasi aritmatika, seperti:
• penjumlahan: + (pada bahasa C, terdapat juga operator ++ sebagai prefix increment. Misalnya operasi: i++ atau ++i, akan melakukan increment nilai i sebesar 1)
• pengurangan: - (seperti penjumlahan, pada bahasa C, juga terdapat operator -- sebagai prefixdecrement)
• perkalian: *
• pembagian: / (pada bahasa Pascal, terdapat juga operator div yang digunakan untuk melakukan pembagian bilangan bulat)
• mencari sisa pembagian: Pada bahasa Pascal adalah operator mod, sedangkan pada bahasa C
menggunakan tanda %
1.e.2. Assignment Operator
Operator ini digunakan untuk memberi nilai suatu identifier. Pada bahasa Pascal, digunakan tanda titik dua dan tanda sama dengan := untuk memberi nilai pada variable. Contoh:
C := A + B; atau C := 4;
Pada bahasa C, terdapat beberapa assignment operator yaitu:
• Tanda = memiliki fungsi yang sama dengan tanda := pada bahasa Pascal
• Tanda += digunakan untuk melakukan assignment penjumlahan, misalnya terdapat dua
operasi sebagai berikut:
C = 4;
C += 3;
• Setelah baris pertama dieksekusi, maka C bernilai 4. Setelah baris kedua dieksekusi C
memiliki nilai 7.
• Tanda -= digunakan untuk melakukan assignment pengurangan. Cara penggunaannya sama
seperti contoh penggunaan tanda += di atas.
• Tanda <<= merupakan left shift assignment, digunakan untuk menggeser bit ke kiri.
• Tanda >>= merupakan right shift assignment, digunakan untuk menggeser bit ke kanan.
1.e.3. Bitwise dan Logical Operator
Operator ini digunakan untuk melakukan operasi bit dan logika. Yang termasuk di dalam operator ini antara lain:
• Negasi
bahasa Pascal : NOT contoh A := NOT B;
bahasa C : ! contoh A = !B;
• And
bahasa Pascal : AND contoh A := A AND B;
bahasa C : && contoh A = A && B;
• Or
bahasa Pascal : OR contoh A := B OR C;
bahasa C : || contoh A = B || C;
• Shift Left
bahasa Pascal : shl contoh A := B shl C;
bahasa C : << contoh A = B << C;
• Shift Right
bahasa Pascal : shr contoh A := B shr C;
bahasa C : >> contoh A = B >> C;
1.e.4. Relational Operator
yaitu == )
• Penanda lebih besar >
• Penanda lebih besar atau sama dengan >=
• Penanda lebih kecil <
• Penanda lebih kecil atau sama dengan <=
• Penanda ketidaksamaan. Pada bahasa Pascal menggunakan tanda <> sedangkan pada bahasa C
menggunakan tanda !=
1.e.5. Pointer Operator
Operator pointer digunakan untuk melakukan operasi pada operand yang berupa pointer. Pada bahasa Pascal, digunakan tanda ^ sebagai deference pointer. Sedangkan pada bahasa C, deference pointer menggunakan tanda asterisks *.
2. Tipe Data

1. Array
Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih elemen/komponen yang memiliki tipe data yang sama. Berikut adalah contoh penggunaan array:

Array
pada contoh di atas adalah array berdimensi 1. Kita dapat membuat array
berdimensi banyak, Berikut adalah contoh penggunaan array berdimensi 2:

Nilai-nilai bil pada contoh di atas adalah sebagai berikut:

Atau dalam bentuk matriks 2x2 sbb:

2. Record (Pascal) atau struct (Bahasa C)
Pada contoh di atas, dideklarasikan tipe data terstruktur yang diberi nama TSiswa. Tipe data tersebut terdiri atas dua elemen yang masing-masing bertipe integer dan char.
Setelah kita membahas mengenai tipe data sederhana dan terstruktur di atas, berikut ini akan dibahas mengenai enumerated data type. Yang dimaksud dari enumerated data type yaitu tipe data yang didefinisikan sendiri oleh programmer. Berikut adalah contoh pada bahasa Pascal dan bahasa C.

3. Expression
Yang dimaksud dengan expression (ekspresi) yaitu suatu pernyataan yang menghasilkan suatu nilai. Expression tersusun dari operator dan operand yang digunakan untuk menghitung atau memberi suatu nilai suatu variable atau identifier.
10 => berupa suatu nilai
A + 3 * 2 => expression menggunakan operator
Calculate(A,B) => melakukan pemanggilan function bernama Calculate
4. Statement
1. Simple Statement
2. Compound Statement
3. Selection Statement
4. Iteration Statement
4.1. Simple Statement
Yang digolongkan ke dalam simple statement (statement sederhana) yaitu statement yang tidak berisi statement lainnya, sbb:
• Assignment Statement
Yaitu statement yang digunakan untuk memberikan nilai ke suatu variable, contoh pada bahasa Pascal (kiri) dan bahasa C (kanan):

• Statement untuk pemanggilan function atau procedureYaitu statement yang memanggil function atau procedure yang telah didefinisikan pada program. Contoh pemanggilan procedure dan fungsi pada bahasa Pascal dan bahasa C (dengan asumsi procedure Calculate, Cetak, dan function GetLength untuk contoh di bawah, telah didefinisikan terlebih dahulu) :

• Jump Statement
Yaitu statement yang digunakan untuk melompati statement-statement lain. Yang termasuk dalam kategori statement ini yaitu:

4.2. Compound Statement



4.4. Iteration Statement
Iteration statement digunakan untuk melakukan perulangan sekumpulan statement statement). Iteration statement pada bahasa Pascal dan C adalah sebagai berikut:


5. Function dan Procedure
1.Passing by Value (Dilewatkan secara nilai)

Hasil eksekusi kedua program di atas adalah sama, pada layar akan tampak tulisan:
Bil sebelum=1
Ubah menjadi=10
Bil sesudah=1
3. Passing by Reference
Jika di dalam procedure atau function dilakukan perubahan nilai parameter yang dilewatkan secara reference, maka nilai parameter yang sebenarnya juga akan berubah. Contoh:

Jika dijalankan, maka di layar akan tampak:
Bil sebelum=1
Ubah menjadi=10
Bil sesudah=10
Ketika
kita mempelajari suatu bahasa pemrograman, kita akan menjumpai
element-element yang pada dasarnya serupa antara satu bahasa dengan
bahasa yang lain. Hal itu dikarenakan elementelement tersebut merupakan
bagian dari tata bahasa pemrograman yang bersangkutan.
Berikut adalah element-element pada bahasa pemrograman:
1. Aturan LeksikalBerikut adalah element-element pada bahasa pemrograman:
2. Tipe data
3. Expression
4. Statement
5. Function dan Procedure
Kita akan membahas satu per satu element-element yang tersebut di atas.
1. Aturan Leksikal
Yang dimaksud aturan leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi, definisi, maupun statement hingga menjadi satu program yang utuh. Aturan ini meliputi beberapa element antara lain:
a. Token
b. Komentar
c. Identifier
d. Keywords (Reserved Words)
e. Operator
1.a. Token
Token
yaitu element terkecil pada bahasa pemrograman yang memiliki arti
penting bagi compiler. Yang termasuk token antara lain: identifier,
keywords(reserved words), operator, dan sebagainya. Token yang satu
dengan yang lain dipisahkan dengan satu atau lebih spasi, tab, baris
baru, atau komentar.
1.b. Komentar
Komentar
yaitu teks (kumpulan karakter) yang diabaikan oleh Compiler. Komentar
sangat berguna untuk memberi catatan mengenai bagian program tertentu
sebagai referensi baik bagi programmer itu sendiri maupun orang lain
yang membaca kode program tersebut. Pada bahasa Pascal, teks yang berada
di antara kurung kurawal pembuka {dan kurung kurawal tutup } akan
dianggap sebagai komentar. Selain itu, dapat pula menggunakan tanda (*
sebagai pembuka komentar, dan tanda *) sebagai penutup. Contoh:

Pada bahasa C, teks yang berada di antara tanda /* dan tanda */ akan dianggap sebagai komentar. Dan untuk teks yang ada setelah tanda // juga akan dianggap komentar satu baris. Berikut adalah contoh penggunaan komentar pada bahasa C:

1.c. Identifier
Identifier
merupakan kumpulan karakter yang digunakan sebagai penanda untuk nama
variable, nama tipe data, fungsi, prosedur, dan sebagainya. Aturan
penulisan identifier pada bahasa Pascal dan bahasa C dapat dikatakan
serupa. Yaitu: suatu identifier harus diawali oleh karakter non angka
sebagai berikut:
_ a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Selanjutnya
boleh menggunakan karakter angka ( 0 1 2 3 4 5 6 7 8 9 ) maupun
karakter non angka tersebut di atas, namun tidak boleh menggunakan
karakter khusus/spesial seperti + - * / ? ! { } [ ] dan sebagainya.
Berikut adalah contoh-contoh identifier yang benar maupun salah.A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
_Nama => Benar
No_Telpon => Benar
Bilangan2 => Benar
4data => Salah, karena diawali oleh karakter angka: 4data
Teks? => Salah, karena mengandung karakter khusus/special: Teks?
Tetapi sebagai catatan yang perlu diingat, identifier pada bahasa Pascal bersifat case insensitive (huruf besar dan huruf kecil dianggap sama), sedangkan pada bahasa C, identifier bersifat case sensitive (huruf besar dan huruf kecil dibedakan). Sebagai contoh, identifier No_Telpon dan no_telpon pada bahasa Pascal dianggap sama, sedangkan pada bahasa C, dianggap sebagai dua identifier yang berbeda.
1.d. Keywords (Reserved Words)
Keywords atau Reserved words merupakan kata-kata yang telah ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-kata tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah. Karena telah memiliki definisi tertentu, maka kata-kata ini tidak dapat digunakan sebagai identifier. Pada bahasa Pascal, yang termasuk reserved words antara lain:
and array asm begin case const div do downto else end file for forward
function goto if in label mod nil not of or packed procedure program
record repeat set string then to type unit until uses var while with
Pada bahasa C, yang termasuk reserved words antara lain:
break case char double else enum inline int long static struct switch while const continue default do float for goto if return short signed sizeof typedef union unsigned void
1.e. Operator
Operator
digunakan untuk menyatakan suatu perhitungan/operasi. Operator yang
digunakan untuk operasi yang melibatkan satu operand disebut unary
operator. Jika melibatkan dua operand maka disebut binary operator, dan
jika melibatkan tiga operand, operator tersebut disebut ternary
operator. Di dalam suatu operasi dapat terdapat banyak operator. Urutan
eksekusi dari operator-operator disebut juga operator precedence.
Precedence yang lebih rendah akan dieksekusi belakangan,
misalnya:A = 10 + 5 * 2
Karena
precedence operator * lebih tinggi daripada operator + maka nilai A
adalah 20, diperoleh dariperkalian 5 dan 2, kemudian dijumlahkan dengan
10. Untuk mendahulukan eksekusi precedence yang lebih rendah dapat
digunakan tanda ( dan ) sebagai contoh:
A = (10 + 5) * 2Variable A akan memiliki nilai 30, diperoleh dari penjumlahan 10 dan 5, kemudian dikalikan 2.
Operator dapat dikategorikan menjadi beberapa jenis antara lain:
1. Arithmetic Operator
2. Assignment Operator
3. Bitwise dan Logical Operator
4. Relational Operator
5. Pointer Operator
Berikut
akan dibahas lima kelompok operator tersebut di atas. Sebagai catatan,
masih terdapat operator-operator yang belum tercakup pada kelompok
tersebut di atas. Yang dibahas di sini hanya bagian-bagian yang sangat
umum.
1.e.1. Arithmetic Operator
Yang termasuk di dalam operator arithmetic yaitu operator yang digunakan untuk melakukan operasi aritmatika, seperti:
• penjumlahan: + (pada bahasa C, terdapat juga operator ++ sebagai prefix increment. Misalnya operasi: i++ atau ++i, akan melakukan increment nilai i sebesar 1)
• pengurangan: - (seperti penjumlahan, pada bahasa C, juga terdapat operator -- sebagai prefixdecrement)
• perkalian: *
• pembagian: / (pada bahasa Pascal, terdapat juga operator div yang digunakan untuk melakukan pembagian bilangan bulat)
• mencari sisa pembagian: Pada bahasa Pascal adalah operator mod, sedangkan pada bahasa C
menggunakan tanda %
Operator-operator
yang disebut di atas termasuk binary operator karena melibatkan dua
operand. Terdapat pula operator unary, yaitu tanda - dan + yang
digunakan sebagai penanda bilangan negatif
atau positif.
atau positif.
1.e.2. Assignment Operator
Operator ini digunakan untuk memberi nilai suatu identifier. Pada bahasa Pascal, digunakan tanda titik dua dan tanda sama dengan := untuk memberi nilai pada variable. Contoh:
C := A + B; atau C := 4;
Pada bahasa C, terdapat beberapa assignment operator yaitu:
• Tanda = memiliki fungsi yang sama dengan tanda := pada bahasa Pascal
• Tanda += digunakan untuk melakukan assignment penjumlahan, misalnya terdapat dua
operasi sebagai berikut:
C = 4;
C += 3;
• Setelah baris pertama dieksekusi, maka C bernilai 4. Setelah baris kedua dieksekusi C
memiliki nilai 7.
• Tanda -= digunakan untuk melakukan assignment pengurangan. Cara penggunaannya sama
seperti contoh penggunaan tanda += di atas.
• Tanda <<= merupakan left shift assignment, digunakan untuk menggeser bit ke kiri.
• Tanda >>= merupakan right shift assignment, digunakan untuk menggeser bit ke kanan.
1.e.3. Bitwise dan Logical Operator
Operator ini digunakan untuk melakukan operasi bit dan logika. Yang termasuk di dalam operator ini antara lain:
• Negasi
bahasa Pascal : NOT contoh A := NOT B;
bahasa C : ! contoh A = !B;
• And
bahasa Pascal : AND contoh A := A AND B;
bahasa C : && contoh A = A && B;
• Or
bahasa Pascal : OR contoh A := B OR C;
bahasa C : || contoh A = B || C;
• Shift Left
bahasa Pascal : shl contoh A := B shl C;
bahasa C : << contoh A = B << C;
• Shift Right
bahasa Pascal : shr contoh A := B shr C;
bahasa C : >> contoh A = B >> C;
1.e.4. Relational Operator
Operator
relasional digunakan untuk membandingkan nilai dua operand. Sebagai
catatan, operand yang dibandingkan harus memiliki tipe data yang sama,
kecuali untuk bilangan bulat (bertipe integer) dan bilangan pecahan
(bertipe real atau float). Yang termasuk operator relasional yaitu:
• Penanda kesamaan = (Pada bahasa C, penanda kesamaan menggunakan dua tanda sama dengan,yaitu == )
• Penanda lebih besar >
• Penanda lebih besar atau sama dengan >=
• Penanda lebih kecil <
• Penanda lebih kecil atau sama dengan <=
• Penanda ketidaksamaan. Pada bahasa Pascal menggunakan tanda <> sedangkan pada bahasa C
menggunakan tanda !=
1.e.5. Pointer Operator
Operator pointer digunakan untuk melakukan operasi pada operand yang berupa pointer. Pada bahasa Pascal, digunakan tanda ^ sebagai deference pointer. Sedangkan pada bahasa C, deference pointer menggunakan tanda asterisks *.
2. Tipe Data
Tipe
data digunakan untuk menentukan jenis nilai yang dapat ditampung oleh
suatu variable. Pada suatu bahasa pemrograman umumnya telah menyediakan
tipe-tipe data yang sederhana (simple) maupun yang terstruktur Dan
apabila kita membutuhkan tipe data yang belum tersedia, kita dapat
mendefinisikan sendiri tipe data baru, yang disebut enumerated type.
Berikut adalah tipe data sederhana (simple) yang terdapat pada bahasa Pascal dan bahasa C standar.
Sebagai
catatan, selain tipe data di atas, masih terdapat tipe-tipe data lain
yang disediakan oleh compiler bahasa Pascal ataupun C. Tipe data
tersebut biasanya merupakan feature yang ditambahkan oleh Compiler.
Misalnya tipe data Boolean (bool) tidak terdapat pada bahasa Ansi C,
namun tipe data tersebut dapat ditemui pada MS Visual C++.
Yang dimaksud dengan tipe data terstruktur yaitu tipe data yang dapat menampung lebih dari satu nilai, sbb:1. Array
Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih elemen/komponen yang memiliki tipe data yang sama. Berikut adalah contoh penggunaan array:

Pertama-tama
mari kita perhatikan bagian deklarasi variable bil untuk contoh di
atas. Pada bahasa Pascal, kita dapat menentukan indeks batas bawah dan
batas atas dari suatu array, sedangkan pada bahasa C, indeks batas bawah
dari array adalah selalu nol, dan batas atas array adalah jumlah
element dikurang satu. Untuk contoh di atas, variable bil dapat
menampung sebanyak 4 element, dimulai dari element ke-0, ke-1, ke-2, dan
ke-3.
Untuk mengakses nilai indeks tertentu, digunakan tanda kurung siku [ dan ]. Pada contoh di atas, dapat dilihat bahwa indeks ke-0 yaitu bil[0] diberi nilai 1. Kemudian, indeks ke-1 yaitu bil[1] bernilai 2. Selanjutnya bil[2] bernilai 3 (penjumlahan nilai bil[0] dan angka 2), dan bil[3] bernilai 4. Nilai-nilai bil di memory akan tampak sebagai berikut:
Untuk mengakses nilai indeks tertentu, digunakan tanda kurung siku [ dan ]. Pada contoh di atas, dapat dilihat bahwa indeks ke-0 yaitu bil[0] diberi nilai 1. Kemudian, indeks ke-1 yaitu bil[1] bernilai 2. Selanjutnya bil[2] bernilai 3 (penjumlahan nilai bil[0] dan angka 2), dan bil[3] bernilai 4. Nilai-nilai bil di memory akan tampak sebagai berikut:


Nilai-nilai bil pada contoh di atas adalah sebagai berikut:

Atau dalam bentuk matriks 2x2 sbb:

2. Record (Pascal) atau struct (Bahasa C)
Tipe
data ini digunakan untuk merepresentasikan kumpulan (set)
elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap
element disebut juga field atau property atau attribute. Berikut adalah
contoh penggunaan record dan struct:

Pada contoh di atas, dideklarasikan tipe data terstruktur yang diberi nama TSiswa. Tipe data tersebut terdiri atas dua elemen yang masing-masing bertipe integer dan char.
Setelah kita membahas mengenai tipe data sederhana dan terstruktur di atas, berikut ini akan dibahas mengenai enumerated data type. Yang dimaksud dari enumerated data type yaitu tipe data yang didefinisikan sendiri oleh programmer. Berikut adalah contoh pada bahasa Pascal dan bahasa C.
3. Expression
Yang dimaksud dengan expression (ekspresi) yaitu suatu pernyataan yang menghasilkan suatu nilai. Expression tersusun dari operator dan operand yang digunakan untuk menghitung atau memberi suatu nilai suatu variable atau identifier.
Expression yang
paling sederhana yaitu nama variable. Expression yang lebih kompleks
akan melibatkan operator-operator, maupun pemanggilan function atau
procedure. Berikut adalah contohcontoh expression:
A =>hanya berupa nama variable10 => berupa suatu nilai
A + 3 * 2 => expression menggunakan operator
Calculate(A,B) => melakukan pemanggilan function bernama Calculate
4. Statement
Seperti
yang telah disinggung di atas, statement merupakan bagian program yang
berisi perintah yang akan dieksekusi/dijalankan. Karena itu,
statement-statement ini menentukan bagaimana jalannya program dan
bagaimana suatu nilai variable dimanipulasi/berubah.
Statement dapat dikelompokan menjadi antara lain:1. Simple Statement
2. Compound Statement
3. Selection Statement
4. Iteration Statement
4.1. Simple Statement
Yang digolongkan ke dalam simple statement (statement sederhana) yaitu statement yang tidak berisi statement lainnya, sbb:
• Assignment Statement
Yaitu statement yang digunakan untuk memberikan nilai ke suatu variable, contoh pada bahasa Pascal (kiri) dan bahasa C (kanan):

• Statement untuk pemanggilan function atau procedureYaitu statement yang memanggil function atau procedure yang telah didefinisikan pada program. Contoh pemanggilan procedure dan fungsi pada bahasa Pascal dan bahasa C (dengan asumsi procedure Calculate, Cetak, dan function GetLength untuk contoh di bawah, telah didefinisikan terlebih dahulu) :

• Jump Statement
Yaitu statement yang digunakan untuk melompati statement-statement lain. Yang termasuk dalam kategori statement ini yaitu:

4.2. Compound Statement
Compound
statement (kumpulan statement) adalah sekumpulan statement
yang terdiri dari statement-statement lain, termasuk juga iteration
dan selection statement yang akan dibahas setelah ini. Pada bahasa
Pascal, kumpulan statement diawali oleh keywords begin dan ditutup oleh
keywords end, sedangkan pada bahasa C, kumpulan statement akan diawali
dan diakhiri oleh tanda kurung kurawal { dan }. Berikut adalah contoh
compound statement:
Selection
Statement melakukan pemeriksaan nilai/kondisi, yang kemudian akan
memilih statement mana yang akan dieksekusi. Statement ini terdiri dari 2
jenis yaitu: if..then..else statement dan case/switch statement.
Berikut adalah cara penulisan selection statement pada bahasa Pascal dan
bahasa C:
Sebagai
catatan, statement pada tabel di atas dapat berupa berbagai macam
statement, baik compound statement, simple statement, maupun selection
statement itu sendiri dan iteration statement yang akan dibahas berikut
ini.
4.4. Iteration Statement
Iteration statement digunakan untuk melakukan perulangan sekumpulan statement statement). Iteration statement pada bahasa Pascal dan C adalah sebagai berikut:
5. Function dan Procedure
Procedure
dan Function disebut juga subroutine, merupakan blok statement yang
dapat dipanggil dari lokasi yang berbeda di dalam program. Yang
membedakan antara function dan procedure yaitu: suatu function jika
dijalankan/dipanggil akan mengembalikan suatu nilai.
Pada
Bahasa C, semua subroutine adalah function. Apabila kita ingin membuat
subroutine yang tidak mengembalikan nilai, kita dapat memberi nilai
kembalian berupa void.
Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan disebut juga argument atau parameter. Ada dua cara melewatkan nilai, yaitu:
Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan disebut juga argument atau parameter. Ada dua cara melewatkan nilai, yaitu:
1.Passing by Value (Dilewatkan secara nilai)
2.Jika
di dalam procedure atau function dilakukan perubahan nilai parameter
yang dilewatkan secara nilai, maka nilai parameter yang sebenarnya tidak
ikut berubah, hal ini dikarenakan parameter yang dilewatkan secara
nilai akan dicopy sebagai nilai local di procedure/function yang
bersangkutan. Contoh pada bahasa Pascal (kiri) dan C (kanan):
Hasil eksekusi kedua program di atas adalah sama, pada layar akan tampak tulisan:
Bil sebelum=1
Ubah menjadi=10
Bil sesudah=1
3. Passing by Reference
Jika di dalam procedure atau function dilakukan perubahan nilai parameter yang dilewatkan secara reference, maka nilai parameter yang sebenarnya juga akan berubah. Contoh:
Jika dijalankan, maka di layar akan tampak:
Bil sebelum=1
Ubah menjadi=10
Bil sesudah=10
Tidak ada komentar:
Posting Komentar