Anda di halaman 1dari 27

PERTEMUAN 4

ALGORITMA PEMROGRAMAN 1

IRSAN JAELANI NAMA, TIPE, EKSPRESI DAN NILAI


NAMA

• Di dalam algoritma pemrograman, penamaan adalah konsep yang penting


• Beberapa aturan mengenai penamaan di dalam pseudo-code:
1. Nama harus dimulaii dengan huruf alpabet, tidak boleh dimulai dengan
angka, spasi, atau karakter khusus lainnya.
2. Huruf besar atau huruf kecil tidak dibedakan.
3. Karakter penyusun nama hanya boleh huruf alfabet, angka dan “_”. Karakter
garis bawah dihitung sebagai suatu huruf.
4. Nama tidak boleh mengandung operator aritmetik, operator relasional,tanda
baca dan karakter khusus lainnya.
5. Karakter-karakter di dalam nama tidak boleh dipisah dengan spasi. Spasi
biasanya diganti dengan ‘_’.
6. Panjang nama tidak dibatasi.
Contoh Penamaan

• Salah:
6titik
Nilai ujian
PT-1
Hari!
A1
• Benar:
titik6 atau titik_6
nilai_ujian atau nilaiujian
PT_1 atau PT1
hari
A1
TIPE DATA DASAR

Dalam dunia pemrograman yang termasuk kedalam tipe dasar adalah:


Bilangan bulat
Bilangan riil
Bilangan logika
Karakter
String
BILANGAN LOGIKA
• Nama tipe bilangan logika adalah boolean.
• Bilangan logika hanya mengenal dua bualah nilai: benar(true) atau
salah(false).
• Operasi yang dapat dilakukan terhadap tipe boolean dikenal dengan
operasi logika atau operasi boolean.
•Hasil operasi a dan b diberikan oleh tabel kebenaran sebagai berikut:

a b a and b a or b a xor b
True True True True False
True False False True True
False True False True True
false false False false flase
BILANGAN BULAT

• Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal.


Misalnya 20,6,15,0,-15,324424, dll.
• Nama tipe bilangan bulat adalah integer
•Tipe bilangan bulat mempunyai ranah nilai yang tidak terbatas.
• Konstanta bilangan bulat harus ditulis tanpa mengandung titik desimal.
• Operasi yang dilakukan terhadap bilangan bulat adalah Operasi aritmetika
dan Operasi Perbandingan.
BILANGAN RIIL

• Bilangan rill adalah bilangan hyang mengadung pecahan desimal, misalnya


3.65, 0.0003, 29.0, 2.60240000E-6, dll.
• Semua konstanta bilangan rill harus mengandung ‘.’ (titik)
• Bilangan rill dapat juga dituliskan dengan notasi E yang artinya
perpangkatan sepuluh. Misalnya: 2.60240000E-6 artinya 2.60240000 x 10-6
• Nama tipe bilangan riil adalah real (beberapa literatur menyebutnya
floating point)
•Ranah nilainya dari minus tak hingga sampai plus tak hingga
• Operasi yang dilakukan riil yaitu: Operasi aritmetika dan perbandingan
KARAKTER

• Yang termasuk ke dalam karakter adalah semua huruf abjad, semua tanda
baca, angka ‘0’,’1’,...,’9’ dan karakter-karakter khusus seperti ‘&’, ‘%’, ‘#’ dan
sebagainya.
• Nama tipe untuk karakter adalah char
•Konstanta karakter harus diapit oleh tanda petik tunggal.Contoh:
‘h’ ‘Y’ ‘,’ ‘’ ‘+’ ‘p’ ‘$’
• Operasi yang dapat dilakukan pada tipe karakter adalah operasi perbandingan.
STRING

• String adalah untaian karakter dengan panjang tertentu.


•Konstanta string harus diapit oleh tanda petik tunggal. Contoh:
‘BANDUNG’, ‘Teknik Informatika’, ‘ABC123’, ‘........................’
• String kosong(null) adalah string yang panjangnya nol, dan dilambangkan
dengan “. Kata lainnya yaitu karakter kosong.
• Operasi terhadap data bertipe string:
a. Operasi Penyambungan (Concatenation)
b. Operasi Perbandingan
TIPE BENTUKAN

• Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram


(user-defined data type).
• Tipe bentukan disusun oleh satu atau lebih tipe dasar.
• Ada 2 macam tipe bentukan:
1. Tipe dasar yang diberi nama dengan nama tipe baru
2. Tipe terstruktur
Tipe Dasar yang Diberi Nama Tipe Baru

• Kata kunci untuk pemberian nama baru untuk tipe dasar adalah type
• Contoh:
DEKLARASI:
type BilanganBulat: integer
P: BilanganBulat
Tipe Terstruktur

• adalah tipe yang berupa rekaman (record).


• Rekaman disusun oleh satu atau lebih field.
• Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan
lain yang sudah didefinisikan sebelumnya.
• Nama rekaman ditentukan sendiri oleh programmer, selanjutnya nama
rekaman tersebut menjadi nama tipe baru

Field1 Field2 Field3 .......... fieldN


Contoh Tipe Terstruktur
1. Titik dalam kordinat kartesian dinyatakan sebagai (x,y), dengan x adalah
nilai absis dalam arah sumbu X dan y adalah nilai ordinat dalam arah sumbu
Y. Kita dapat mendefinisikan titik sebagai tipe bentukan baru dengan x dan y
sebagai nama fieldnya.
X Y

Cara menuliskan tipe Titik di dalam bagian deklarasi:


type Titik: record <x:real, y:real>
Contoh konstantanya: <2.7, 13.2>, <-1.4,-6.5>

Dalam Bahasa C++:


typedef struct { float x;
float y; }
Titik
Contoh Tipe Terstruktur

2. Didefinisikan tipe terstruktur yang mewakili dalam kalender Masehi. Hari


dinyatakan sebgai tanggal (dd), bulan (mm), dan tahun (yy), misalnya 10-8-
2016. Misalkan tipe bentukan tersebut diberi nama Tanggal:

dd mm yy

Cara mendeklarasikan tipe Tanggal:


DEKLARASI
type Tanggal: record <dd: integer,
mm: integer,
yy: integer >
Contoh konstantanya: <5.10.2016>, <30.12.1995>
Contoh Tipe Terstruktur

3. NilaiMhs adalah nama tipe terstruktur yang menyatakan nilai ujian


seorang mahasiswa untuk suatu mata kuliah (MK) yang ia ambil. Data setiap
mahasiswa adalah NIM (Nomor Induk Mahasiswa), nama mahasiswa, kode
matakuliah yang ia ambil, dan nilai mata kuliah tersebut.
NIM NamaMhs KodeMK Nilai

Cara mendeklarasikan tipe NilaiMhs:


DEKLARASI
type NilaiMhs: record < NIM :integer,
NamaMhs: string,
KodeMK: string,
Nilai: char >
Jika dideklarasikan M adalah variabel bertipe NilaiMhs, maka untuk
mengacunya tiap field di dalam M adalah: M.NIM, M.NamaMhs, M.KodeMK,
M.Nilai
PEUBAH/VARIABEL

• Peubah/Variabel adalah objek yang nilainya dapat diubah-ubah oleh


instruksi di dalam algoritma.
• Nama variabel harus didefinisikan tipenya di dalam bagian DEKLARASI
• Contoh:
DEKLARASI DEKLARASI:
X : nilai_ujian, jumlah: real type Titik: record <x:real, y:real>
k : integer type Jam: record <hh:integer,
c : char mm:integer,
ss: integer
>
P: Titik
J1,J2: Jam
KONSTANTA
• Konstanta adalah objek yang nilainya tetap selama pelaksaan program dan
tidak boleh diubah.
• Notasi untuk menyatakan konstanta adalah const.
• Contoh
DEKLARASI:
const phi = 3,14
const Nmaks = 100
const sandi = ‘abc123’
EKSPRESI
• Ekspresi terdiri atas operand dan operator.
• Operand adalah nilai dioperasikan dengan operator tertentu.
• Operand dapat berupa konstanta, variabel, nama konstanta, atau hasil dari
suatu fungsi.
• Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam ranah yang sesuai
dengan tipe operand yang dipakai.

Ada 3 Macam ekspresi:


• Ekspresi Arimetik
• Ekspresi Relasional
• Ekspresi String
Ekspresi Aritmetik
• Adalah ekspresi yang baik operandnya bertipe numerik dan hasilnya juga
bertipe numerik.
Contoh:
a/2 + c*b
i + (j *k) – 10*(d+k)
100.0/(a+c) – 2.5
(i+j) div 2
• Tingkatan operator aritmetika adalah (dari tertinggi ke terendah):
(i) ^
(ii) Div/mod
(iii) / , *
(iv) +, -
Ekspresi Relasional
• Adalah ekspresi dengan operator <, <, >, >, = dan ≠, not, and, or, dan xor.
• Karena hasil ekspresinya adalah nilai yang bertipe boolean, sehingga
kadang-kadang disebut juga ekspresi boolean.
• DEKLARASI:
Ada, ketemu, besar: boolean
x, y : integer
Misalkan ketemu bernilai false, ada bernilai true, x bernilai 8 dan y bernilai 12,
maka. Contoh-contoh ekspresi boolean:
Not ada {hasil: false}
Ada or ketemu {hasil:true}
Ada and true {hasil: true}
X<5 {hasil: false}
Ada or (x=y) {hasil: true}
Ekspresi String
• Adalah ekspresi dengan operator + (operator penyambungan atau
concatenation)
• Contoh:
‘Jl. Cikopak’ + ‘No 10’ {hasil: Jl.Cikopak No 10}
‘AA ‘ + ‘123’ {hasil: AA 123}
NILAI

Algoritma pada adasarnya memanipulasi nilai yang disimpan di


dalam variabel. Misalnya:
• Mengisi Nilai ke dalam peubah/variabel
• Membaca Nilai dari piranti masukan
• Mencetak Nilai ke piranti keluaran
Mengisi Nilai ke dalam Variabel

a. Nilai yang diisi ke dalam variabel dapat berupa konstanta


variabel  konstanta
Contoh: A  10
b. Variabel diisi dengan nilai dari variabel lain:
variabel1  variabel2
Contoh: B  A
c. Variabel diisi dengan hasil evaluasi dari sebuah ekspresi:
variabel  ekspresi
Contoh: C  (A+B)/2
Membaca Nilai dari Piranti Masukan

Notasi algoritma untuk pembacaan nilai dari piranti masukan adalah


read(nama1, nama2, nama3 )

Misalkan M, a, b, c bertipe real, nama_kota dan nama_mhs bertipe string,


NIM dan nilai bertipe integer. Cara membaca nilai untuk semua variabel
tersebut adalah:
read(M)
read(a,b,c)
read(nama_mhs, NIM)
Mencetak Nilai Ke Piranti Masukan

Nilai konstanta, variabel dan hasil ekspresi dapat ditampilkan ke piranti


keluaran. Instruksi pencetakan nilai dilakukan dengan notasi write:
write(nama1, nama2, ......, naman)
write(konstanta)
write(ekspresi)
write(nama,konstanta,ekspresi)
Contoh:
write(‘A’) {mencetak karakter ‘A’}
write(A) {mencetak nilai yang disimpan variabel A}
write(A+2) {mencetak ekspresi, yaitu nilai A ditambah 2}
write(‘Hello’,A) {mencetak ‘Hello’ dan nilai variabel A}
Latihan
1. Definisikan sebuah tipe terstruktur untuk menyatakan data nasabah di sebuah
bank. Data nasabah terdiri atas field: nomor account, nama nasabah, alamat
nasabah, kota nasabah, nomor telepon nasabah. Untuk setiap field definisikan
tipe data yang cocok.
2. Definisikan sebuah tipe terstruktur untuk menyatakan data penerbangan di
sebuah bandara. Data penerbangan terdiri atas: nomor penerbangan (misal
GA101), bandara (kota) asal, bandara tujuan, tangal keberangkatan, jam
keberangkatan (departure time), jam datang (arrival time). Untuk setiap field,
definisikan tipe data yang cocok.
3. Berapakah nilai A dan B seteleh instruksi berikut ini?
DEKLARASI
A,B: integer
ALGORITMA
A10
B  2 * A-5
AB
A  A+2
BA+B
Latihan
4. Apa perbedaan n  n + 2 dari sudut pandang algoritma dan n=n + 2
dari sudut pandang matematika?
5. Misalkan m didefinisikan sebagai konstanta integer. Dibaca sebuah nilai
integer P, kemudian lakukan instruksi m  m + P.
Apakah instruksi ini benar? Jika tidak benar, dimana kesalahannya?

Anda mungkin juga menyukai