Anda di halaman 1dari 43

Struktur Bahasa Pemrograman

Modul-3:
Struktur Umum Bahasa Program

Struktur Bahasa Pemrograman, Modul-4,


1
@Suarga
Komponen Struktur Umum
1. Character Set
2. Keyword
3. Tipe data dan deklarasi variabel
4. Operator
5. Instruksi input-output
6. Instruksi Seleksi
7. Instruksi Perulangan
8. Penanganan File
9. Pemakaian Fungsi dan Subprogram

Struktur Bahasa Pemrograman, Modul-4,


2
@Suarga
1. Character Set
• Character set adalah himpunan semua
karakter yang dikenal dan dapat digunakan
dalam bahasa program.
• Pada umumnya bahasa program menerima
karakter yang berasal dari kode ASCII, namun
beberapa bahasa memiliki karakter yang lebih
banyak lagi karena menggunakan Unicode.
• Beberapa bahasa juga menerima ASCII
maupun Unicode.
Struktur Bahasa Pemrograman, Modul-4,
3
@Suarga
KODE ASCII dalam Desimal: huruf ‘A’ = 65, huruf ‘a’ = 97, dsb

Struktur Bahasa Pemrograman, Modul-4,


4
@Suarga
2. Keyword
• Keyword adalah perbendaharaan kata dari suatu
bahasa, dimana setiap kata merupakan suatu
instruksi tertentu.
• Keyword hanya boleh dipakai sebagai instruksi,
tidak untuk keperluan lain.
• Keyword pada dasarnya diperlukan:
– pertama untuk mengetahui sintaks dari command,
– kedua untuk menjadi acuan ketika membuat variable
agar tidak sama dengan keyword.
• Setiap bahasa memiliki keyword yang berbeda
Struktur Bahasa Pemrograman, Modul-4,
5
@Suarga
• Misalnya dalam bahasa Python berikut ini adalah
Keyword:

and def finally in or try


as del for is pass while
assert elif from lambda print with
break else global None raise yield
class except if nonlocal return exec
continue False import not True

Struktur Bahasa Pemrograman, Modul-4,


6
@Suarga
3. Tipe Data dan Deklarasi
• Pertama adalah tipe data, bahwa data secara
umum dapat dikategorikan menjadi tiga macam:
numerik, non-numerik, dan logik.
• Data numerik sendiri paling tidak ada dua macam,
bilangan bulat (integer) dan bilangan tidak bulat
(real, float).
• Data non-numerik biasa disebut karakter
merupakan semua kode karakter yang bisa
diperoleh melalui keyboard, seperti huruf dan
simbol-simbol lainnya.
Struktur Bahasa Pemrograman, Modul-4,
7
@Suarga
• Beberapa tipe data utama (numerik) yang sering
dijumpai dalam bahasa program adalah:
• integer, yaitu tipe bilangan bulat seperti 10, 253,
8, 1024
• float atau fixed, tipe bilangan tidak bulat, seperti
12.5, 100.453
• character, tipe yang diberikan pada karakter
• boolean, tipe untuk data logik
• complex : tidak semua bahasa menyediakan
bilangan complex, beberapa diantaranya adalah
Python, Ada, Lisp, dan Ruby

Struktur Bahasa Pemrograman, Modul-4,


8
@Suarga
• Tipe non-numerik antara lain:
• character (char): karakter tunggal dengan tanda petik
tunggal
• string : untaian karakter seperti nama dengan tanda petik
dobel
• boolean (bool) : data logik, true atau false
• enumeration (enum) : pemberian angka ke suatu nama,
seperti seperti enum name (senin, selasa, …, minggu)
berarti senin=1, selasa=2, dst
• object : kumpulan data, boleh tidak sejenis, yang disertai
metoda pengolahannya.
• array : larik, vektor, matriks, kumpulan data sejenis, dengan
indeks
• record : kumpulan data tak sejenis tanpa method
pengolahan, dapat digunakan untuk penciptaan tipe baru.
• pointer : penunjuk ke objek data yang lain

Struktur Bahasa Pemrograman, Modul-4,


9
@Suarga
• Pada setiap tipe data ditetapkan batasan-
batasan nilai, misalnya integer antara 0 hingga
255 atau -65536 hingga +65535, real memiliki
batasan … Setiap bahasa menetapkan tipe
dan batasan nilai dari data.
• Batasan nilai pada bahasa C++ dapat dilihat
pada tabel berikut:

Struktur Bahasa Pemrograman, Modul-4,


10
@Suarga
Struktur Bahasa Pemrograman, Modul-4,
11
@Suarga
• Deklarasi pada hakekatnya adalah pernyataan yang
mengikat variabel dengan tipe dan nilai-nya.
• Beberapa bahasa mengharuskan adanya deklarasi
(strong-typed), namun tidak semua bahasa
memerlukan deklarasi awal tersebut (weak-typed)
sehingga binding terjadi pada saat suatu identifier
diberi nilai.
• Beberapa jenis deklarasi yang sering dijumpai
adalah:
(a) type declaration
(b) constant declaration
(c) variable declaration
(d) procedure definition

Struktur Bahasa Pemrograman, Modul-4,


12
@Suarga
• Contoh deklarasi variabel sebagai berikut:

• integer x,y,z;
• float a,b,c;
• character g,h;
• boolean n;

Struktur Bahasa Pemrograman, Modul-4,


13
@Suarga
(a) Type Declaration:
• type vektor is array(1..10) of integer;
• vektor dinyatakan sebagai tipe baru berupa array
dengan 10 elemen integer.

• typedef char* alpha; alpha dinyatakan sebagai


tipe pointer dari character
• struct Book { Alpha title, int edn }; Book adalah
tipe baru
 
(b) Constant Declaration:
• pi : constant float := 3.145;
• twice_pi: constant float := 2.0 * pi;
 

Struktur Bahasa Pemrograman, Modul-4,


14
@Suarga
(c) Variable Declaration:
• double x, y, z;
• double luas, keliling;
 
(d) Function Declaration:
• double luas(double x,double y) {
return (x*y);
}

• double keliling(double x, double y) {


return (2 * (x+y) );
}
•  
4. Operator
• Operator adalah simbol operasi terhadap data dan
variabel
• Operator diperlukan ketika beberapa variabel
dihubungkan satu dengan yang lainnya misalnya
dalam penilaian suatu ekspressi.
• Ada beberapa jenis operator yang sering
digunakan dalam bahasa program, antara lain:
– aritmetika
– logika
– relasional
Struktur Bahasa Pemrograman, Modul-4,
16
@Suarga
• Operator aritmetika adalah operator dalam ekpressi
aritmetika, antara lain:
– tambah +
– kurang -
– kali *
– bagi /
– pangkat ^ atau ** (tdk semua bahasa memiliki)
– tanda kurung ( dan )
• Operator aritmetika memiliki urutan (precedence)
dalam pelaksanaan
– urutan 1 : adalah yang berada dalam tanda kurung ( )
– urutan 2 : pangkat **
– urutan 3 : kali * atau bagi /
– urutan 4 : tambah + atau kurang -
Struktur Bahasa Pemrograman, Modul-4,
17
@Suarga
• Operator logika adalah operator untuk
hubungan secara logika seperti AND (&&)
operator OR (||) dan NOT (!).

• Operator relational menyatakan relasi antar


variabel atau antar ekspressi, antara lain:
– lebih besar >
– lebih besar atau sama >=
– sama besar ==
– lebih kecil <
– lebih kecil atau sama <=
– tidak sama != atau <> atau ~=
Struktur Bahasa Pemrograman, Modul-4,
18
@Suarga
Struktur Bahasa Pemrograman, Modul-4,
19
@Suarga
5. Instruksi Input / Output
• (1) Instruksi input-output: setiap bahasa program
menyediakan cara untuk komunikasi dengan user, yaitu
menyediakan cara untuk meminta data dari user (input) dan
cara untuk menampilkan data/informasi ke user (output).

• Variasi dari instruksi input antara lain adalah: read, get,


input, scanf, cin, Console.Read(), System.in.read() dan
formatnya pada umumnya seperti:
• (a) read var-data, atau get (var-data)
• (b) var-data = input(‘string’)
• (c) cin >> var-data;
• (d) x = System.in.read()

Struktur Bahasa Pemrograman, Modul-4,


20
@Suarga
• Variasi dari instruksi output antara lain adalah:
write, print, put, cout, printf, Console.Write(),
System.out.print(), dan formatnya pada
umum-nya seperti:
• (a) write(var-data), write(“string ..”, var-data)
• (b) print(“string..”, vardata), put(var-data),
put(“string”)
• (c) cout << “string ..” << vardata
• (d) System.out.println(x)
Struktur Bahasa Pemrograman, Modul-4,
21
@Suarga
6. Instruksi Seleksi
• Instruksi seleksi (selection statement)
menyediakan cara untuk memilih instruksi
berikutnya berdasarkan suatu syarat / kondisi.
• Bentuk seleksi dapat dibagi menjadi:
– Two-way selection (dua pilihan)
– Multiple selection (pilihan ganda)

Struktur Bahasa Pemrograman, Modul-4,


22
@Suarga
Two-way Selection
• Semantik: Pilihan pertama dilaksanakan apabila syarat
yang diberikan dapat terpenuhi, dan pilihan kedua
dikerjakan apabila syarat tersebut tidak terpenuhi.
• Bentuk:
– if (syarat) then pilihan-1 else pilihan-2;
• Syarat adalah ekspressi logik/boolean bernilai true
(benar, terpenuhi) atau false (salah, tdk terpenuhi).
• Variasi instruksi: beberapa bahasa tidak menggunakan
clause then, namun clause else tetap ada.
• Beberapa bahasa mengharuskan pemakaian kurung { }
pada pilihan.

Struktur Bahasa Pemrograman, Modul-4,


23
@Suarga
• Contoh bentuk instruksi:
• C, C++, C++, Java:
if (sum == 0) {
if (count == 0)
result = 0;
}
else
result = 1;

• Ruby:
if sum == 0 then
if count == 0 then
result = 0
else
result = 1
end
end

Struktur Bahasa Pemrograman, Modul-4,


24
@Suarga
Multiple Selections
• Instruksi seleksi yang memungkinkan lebih dari dua
seleksi, n-selections
• Bentuk umum:
switch (expression) {
case constant_expression1:statement1;
. . .
case constantn: statement_n;
[default: statementn+1]
}
• Variasi instruksi: beberapa bahasa mengharuskan
clause break setelah statement. Beberapa yang lain
tidak memakai switch, tetapi case(variabel)
menggantikan switch, sehingga selanjutnya langsung
ke constant_expression

Struktur Bahasa Pemrograman, Modul-4,


25
@Suarga
• Contoh beberapa instruksi multiple selection:
• C#
switch (value) {
case -1:
Negatives++;
break;
case 0:
Zeros++;
goto case 1;
case 1:
Positives++;
default:
Console.WriteLine("Error in switch \n");
}

Struktur Bahasa Pemrograman, Modul-4,


26
@Suarga
• Ruby:
case
when count < 10 then bag1 = true
when count < 100 then bag2 = true
when count < 1000 then bag3 = true
end

• C++:
switch (x) {
case 1:
cout << "x is 1";
break;
case 2:
cout << "x is 2";
break;
default:
cout << "value of x unknown";
}

Struktur Bahasa Pemrograman, Modul-4,


27
@Suarga
Multiple selection pakai if
if count < 10 :
bag1 = True if count < 10 :
elif count < 100 : bag1 = True
bag2 = True else :
elif count < 1000 : if count < 100 :
bag3 = True bag2 = True
else: else :
bag4 = True if count < 1000 :
bag3 = True
else :
Bila ada n pilihan maka jumlah bag4 = True
if harus (n-1).

Struktur Bahasa Pemrograman, Modul-4,


28
@Suarga
7. Instruksi Perulangan
• Instruksi Perulangan: adalah instruksi untuk
melakukan perulangan terhadap serangkain
instruksi lainnya.
• Ada beberapa bentuk umum dari instruksi
perulangan, antara lain:
(a) for n=awal to akhir
(b) for (n=awal; n < akhir; n++)
(c) for x in (list)
(d) while (x < akhir) do {...}
(e) do {...} until (x > akhir)
(f) repeat {...} until ( x > akhir)

Struktur Bahasa Pemrograman, Modul-4,


29
@Suarga
• Contoh: menampilkan “Halo…” 10 kali
(a) for n=1 to 10 print(“Halo…”);
(b) for (n=0; n < 10; n++) cout << “Halo …”;
(c) for x in (1..10) do print(“Halo …”);
(d) i = 0;
while ( i < 10) do
write(“Halo …”);
i = i + 1;
endwhile.
(e) x=1;
do print(“Halo…”);
x=x+1;
until (x > 10);

Struktur Bahasa Pemrograman, Modul-4,


30
@Suarga
8. Penanganan File
• File adalah media untuk menyimpan data (data
storage)
• Sistem operasi membebaskan user dari kerumitan
dalam penanganan file yang dapat saja terjadi
pada media-media fisik yang berbeda, pada lokasi
berbeda, dengan cara perekaman dan pembacaan
secara fisik berbeda.
• Sistem operasi menyediakan sistem file secara
logik, sehingga dari sisi pemrograman tidak ada
perbedaan menyolok antara pemakaian file di
hard-disk, flash-disk, dan sebagainya.

Struktur Bahasa Pemrograman, Modul-4,


31
@Suarga
• Suatu file memiliki beberapa atribut, antara lain:
– Nama file : nama simbolik dari file sehingga user dan
sistem operasi dapat meng-identifikasi file.
– Tipe file : identifikasi tentang jenis file, seperti file
binary, teks, ASCII, dsb
– Identifier : identifikasi file untuk keperluan sistem,
sehingga sistem dapa memeriksa keberadaanya di
dalam sistem file.
– Lokasi : suatu pointer ke perangkat dimana file berada
– Size : ukuran dari file (byte, word, atau block)
– Protection : kontrol terhadap akses ke file, apakah
hanya bisa dibaca (read) atau bisa di-isi (write), atau
lainnya.
– Time, date, user identification : informasi tentang
kapan file di-ciptakan, kapan terakhir dibaca atau
dimodifikasi, dan siapa yang akses terakhir.
Struktur Bahasa Pemrograman, Modul-4,
32
@Suarga
• Operasi terhadap File:
– Creating a file : menciptakan satu file, pada saat operasi ini
dilakukan maka pertama sistem akan memeriksa apakah
ada tempat di storage untuk file ini, bila ada maka VTC akan
ditambah dengan atribut file ini.
– Writing a file : ketika perintah merekam ke file diberikan
maka sistem akan memeriksa VTC untuk memastikan
keberadaan file tersebut kemudian pointer rekam ditujukan
ke posisi rekam, data direkam, kemudian posisi pointer
rekam diubah.
– Reading a file : ketika perintah membaca file diberikan
maka sistem akan memeriksa VTC untuk memastikan file ini
ada. Selanjutnya bila ada maka pointer baca akan
ditempatkan pada posisi sesuai permintaan, misalnya
apakan baca dari awal atau dari posisi baca sebelumnya.
Setelah selesai posisi terakhir akan diperbaharui.
– Repositioning within a file : menempatkan pointer dari
suatu file terjadi ketika diadakan pencarian (seek) suatu
record dalam file.
Struktur Bahasa Pemrograman, Modul-4,
33
@Suarga
– Deleting a file : ketika suatu file akan dihapus maka
pertama sistem akan mencari file ini dalam VTC, bila
ditemukan maka nama file dihapus dari VTC dan space
yang digunakan-nya akan dilepas.
– Truncating a file : operasi file untuk menghapus isi file
dan nama file tetap ada pada VTC, ketika perintah ini
muncul maka pada hakekatnya sistem hanya
mengganti size (ukuran file) menjadi nol, sehingga
perekaman berikutnya akan mulai dari awal, atribut
lain tidak berubah.
• Atribut atribut ini tersimpan pada direktori file
yang juga terdapat pada storage, direktori ini
sering disebut sebagai: VTC (Volume Table of
Contents). Tentu saja VTC harus nonvolatile,
sehingga dapat dimuat ke dalam RAM setiap saat
akses file diperlukan.
Struktur Bahasa Pemrograman, Modul-4,
34
@Suarga
Struktur Bahasa Pemrograman, Modul-4,
35
@Suarga
9. Fungsi / Subprogram
• Prosedur adalah abstraction dari proses, bentuknya
dua macam:
– function procedure
– proper procedure
• Function procedure merupakan abstraksi dari suatu
expressi, sehingga harus mengembalikan hasil
ekspressi.
• Proper procedure adalah abstraksi dari rentetan
instruksi, atau serangkaian instruksi dapat diwakili
oleh satu baris panggilan ke prosedur.
Struktur Bahasa Pemrograman, Modul-4,
36
@Suarga
• Beberapa bahasa memakai istilah fungsi /
function untuk proses terpisah yang
mengembalikan nilai.
• Kemudian memakai istilah prosedur /
procedure untuk proses terpisah yang tidak
mengembalikan nilai.
• Beberapa bahasa lainnya memakai istilah
fungsi untuk yang mengembalikan nilai
maupun yang tidak mengembalikan nilai.
Istilah prosedur tidak dikenal pada bahasa
tersebut
Struktur Bahasa Pemrograman, Modul-4,
37
@Suarga
• Contoh: fungsi menukar nilai dalam C
void swap2(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
• C++
void swap2(int &a, int &b) {
int temp = a;
a = b;
b = temp;
}
• Contoh diatas adalah bentuk fungsi, dimana nilai
dipertukarkan, dikembalikan memakai pointer * (C)
atau reference & (C++) .
Struktur Bahasa Pemrograman, Modul-4,
38
@Suarga
• Fungsi dalam Python:
def Fibo(n) :
if (n < 2)
return n
else:
return (Fibo(n-1) + Fibo(n-2))
• Fungsi dalam Java:
public static int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;
return min;
}

Struktur Bahasa Pemrograman, Modul-4,


39
@Suarga
• Procedure dari ADA
procedure Push(Stk : in out Stack_Type;
Element : in Integer) is
begin
if Stk.Topsub >= Max_Size then
Put_Line("ERROR - Stack overflow");
else
Stk.Topsub := Stk.Topsub + 1;
Stk.List(Topsub) := Element;
end if;
end Push;

Struktur Bahasa Pemrograman, Modul-4,


40
@Suarga
Variabel Local dan Global
• Penggunaan Prosedur pada suatu program menyebabkan
munculnya dua kategori variabel, yaitu variabel lokal dan
variabel global.
• Variabel Lokal adalah variabel yang hanya dikenal dan
berlaku dalam suatu prosedur saja.
• Variabel Global adalah variabel yang berlaku di semua
bagian program dan di semua prosedur. Ingat scope dari
identifier.
• Semua variabel yang didefinisikan pada deklarasi suatu
prosedur adalah variabel lokal, dan variabel-variabel yang
didefinisikan pada deklarasi algoritma/program utama
adalah variabel global. Beberapa bahasa memakai predikat
global untuk mendefinisikan variabel global, dan predical
local untuk variabel lokal.
Struktur Bahasa Pemrograman, Modul-4,
41
@Suarga
Parameter
• Ketika suatu prosedur dipanggil maka pada hakekatnya
bisa dilakukan pertukaran data antara program utama
dan prosedur. Pertukaran ini dilakukan melalui
parameter.
• Parameter Aktual adalah parameter yang disertakan
pada saat prosedur dipanggil untuk dilaksanakan,
sering disebut sebagai argumen. Kadangkala
bentuknya adalah nilai-data.
• Parameter Formal adalah parameter yang dituliskan
pada definisi suatu prosedur / fungsi, pada umumnya
berbentuk variabel yang disiapkan untuk menerima
nilai-data parameter aktual.

Struktur Bahasa Pemrograman, Modul-4,


42
@Suarga
• Proses penyerahan nilai dari argumen ke parameter
formal dapat dilakukan melalui dalah satu dari dua
cara:
(a) copy parameter: nilai parameter aktual/ argumen di-
copy langsung oleh parameter formal, berlaku bagi
parameter input dan parameter output. Pada kasus ini
terjadi binding parameter formal ke variabel lokal yang
merupakan copy dari argument. Perubahan parameter
formal tidak mempengaruhi parameter aktual, hanya
copy-nya yang berubah.
(b) copy referensi/address: alamat dari parameter aktual
dicopy bukan nilai-nya sebagai akibatnya perubahan nilai
pada parameter formal otomatis merubah nilai
parameter aktual, berlaku pada parameter input-output.
Pada kasus ini terjadi binding antara parameter aktual
dan parameter formal.
Struktur Bahasa Pemrograman, Modul-4,
43
@Suarga

Anda mungkin juga menyukai