TRANSPARANSI KULIAH
LA102
LOGIKA DAN ALGORITMA
TANGGALREVISI
TANGGAL BERLAKU
KODE DOKUMEN
:
:
:
09 September 2006
09 September 2006
DM-RHJ-005-005-008
MUCHAMAD GOZALI, S.Kom
PENGENALAN
BAHASA PEMROGRAMAN
KONSEP DASAR :
· Dasar pemahaman suatu pemrograman
adalah analisa Logika Algoritma.
· Setiap algortima yang kita susun tidak
tergantung pada bahasa pemrograman
tertentu.
· Setiap bahasa pemrograman mempunyai
karakteristik yang berbeda baik struktur,
syntax dan penulisan kode program.
TAHAPAN PEMBUATAN PROGRAM
STRUKTUR
BAHASA PEMROGRAMAN
· Bagian Pendeklarasian
Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data
suatu variable, konstanta, fungsi dan prosedur yang akan digunakan pada program.
· Bagian Statement
Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/ dijalankan.
Contoh :
Beberapa hal yang harus diperhatikan di dalam menulis program adalah :
· Struktur Program
Untuk program besar, harus dipecah kedalam sub program
· Sintak Penulisannya
Penulisan instruksi harus sesuai dengan aturan bahasa yang dipakai
· Algoritma dari program
Harus dibuat algoritmanya lebih dahulu, lalu diuji.
Contoh sintak :
Write(‘teks');(Write(‘Harga Celsius : '); ( (BENAR)
(Write(“Harga Celsius : “); ( (SALAH)
ELEMEN DASAR PEMROGRAMAN
· Pengenal (variabel) dan Tipe Data
· Konstanta
· Operator
· Statement Input dan Output (I/O)
Contoh :
Program Konversi_Suhu;
{ Menghitung Fahrenheit dan Reamur }
uses Crt;
{ Deklarasi }
var Celsius, Fahrenheit, Reamur : real;
{ Algoritma }
begin
Clrscr;
Write(‘Harga Celsius : ');
Readln(Celsius);
Fahrenheit = 5/9 * (Celsius +32);
Reamur = 4/5 * (Celsius +32);
WriteLn('Harga Celsius : ', Celsius);
WriteLn('Harga Fahrenheit : ', Fahrenheit);
WriteLn('Harga Reamur : ', Reamur);
Readln;
end.
Keterangan :
Celsius, Fahrenheit, Reamur: pengenal/variable
* , + dan /
: operator
write, writeln dan readln
: statement I/O
PENGENAL dan TIPE DATA
Pengenal (identifier) merupakan nama yang biasa digunakan untuk :
· nama program,
· variable,
· konstanta,
· fungsi, atau
· obyek lain yang didefinisikan oleh pemrogram.
Aturan yang berlaku bagi suatu pengenal secara umum adalah:
1. Pengenal harus diawali dengan huruf (A .. Z, a .. z)
2. Dapat berupa huruf, angka (0 .. 9) dan karakter garis bawah ( _ )
3. Tidak boleh menggunakan Spasi
4. Panjang pengenal boleh terdiri lebih dari 32 karakter, akan tetapi hanya 32 karakter pertama yang dianggap berarti.
5. Case sensitive atau non Case sensitive tergantung bhs pemrogramannya. Misal C dan C++ adalah case sentitive
Contoh :
Benar
Salah
• Jumlah
• X, y, z
• Rata_rata
• Jumlah1, jumlah2
• Jumlah Pajak
• 0X, +z
• Rata-rata
• $Jumlah
Misal :
C/C++:
Pascal:
Basic:
Konstanta:
Konstanta seperti halnya variabel, perbedaan-nya adalah variabel nilainya bisa berubah-rubah saat program dijalankan sesuai dengan instruksi program.
Sedangkan konstanta nilainya tetap saat program dijalankan.
Misalnya :
Const phi=3.14;
Const nama=“STMIK/AMIK RAHARJA”;
TIPE DATA
Pengertian Tipe data menyiratkan suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel.
Data berdasarkan jenisnya dapat dibagi menjadi beberapa kelompok :
1. Tipe data dasar
2. Tipe data Bentukan
3. Tipe data Terstruktur
1. Tipe data dasar :
- Bilangan bulat (integer)
- Bilangan pecahan (real)
- Karakter (character), dan
- Boolean
Bilangan bulat (integer)
Bilangan yang tidak mengandung pecahan desimal, misalnya : 0, 1, 2, 3, 4, 21, 36, 875, 1250
Pada compiler Pascal, tipe integer dapat direpresentasikan ke dalam 5 macam tipe, yaitu:
Tipe
Rentang nilai
Format
byte
0 .. 255
Unsigned 1 byte
shortint
-128 .. 127
Signed 1 byte
word
0 .. 65535
Unsigned 2 byte
integer
-32768 .. 32767
Signed 2 byte
longint
-2147483648 ..
2147483647
Signed 4 byte
Contoh pendeklarasian tipe integer pada program :
var
X : byte;
Y : shortint;
Z : word;
A : integer;
B : longint;
Sebagai konsekuensi variable X tidak dapat dioperasikan untuk nilai-nilai di atas 255 atau dibawah 0.
Bilangan pecahan (real)
Bilangan yang mengandung pecahan desimal, misalnya : 0.53 1.8 23.926 875.3916
2.60240E-6
Tanda pecahan desimal adalah . (titik)
Bilangan pecahan juga dapat ditulis dengan notasi E seperti 2.60240E-6 yang artinya
2.60240 x 10-6
Pada compiler Pascal, tipe real dapat direpresentasikan ke dalam 4 macam tipe, yaitu:
Tipe
Rentang nilai
Format
real
2.9 x 10-39 .. 1.7 x 1038
6 byte
single
1.5 x 10-45 .. 3.4 x 1038
4 byte
double
5.0 x 10-334 .. 1.7 x 10308
8 byte
extended
3.4 x 10-4932 .. 1.1 x 104932
10 byte
Keterangan :
Single: presisi-tunggal
double : presisi-ganda
Contoh pendeklarasian tipe real pada program :
var
X : real;
Jumlah : single;
Z : double;Y : extended;
Karakter (character)
Yang termasuk ke dalam karakter adalah huruf-huruf alfabet, tanda baca, angka ’0’, ’1’, ’9’ dan karakter-karakter khusus seperti ’&’, ’%’, dsb.
Tipe karakter membutuhkan memori 1 byte.
Contoh pendeklarasian tipe karakter pada program:
var
grade : char; golongan : char;
Data bertipe karakter, harus diapit oleh tanda petik satu.
Contoh pengisian data bertipe karakter :
grade := ’A’;
golongan := ’1’;
Boolean
Boolean adalah tipe bilangan logik, hanya mengenal dua buah nilai : benar (true), atau
salah (false). Tipe boolean memakai memori 1 byte.
Contoh pendeklarasian tipe boolean pada program:
var
ketemu : boolean;
Contoh pengisian data bertipe boolean :
ketemu := true;
SOAL LATIHAN :
1. Tentukan benar (b) atau salah (s) penamaan pengenal atau variabel dibawah ini :
• 6titik
• titik6
• PT-1
• hari!
• A 1
• nilai_ujian
• PT1
• #Jumlah
2. Untuk menghasilkan daftar nilai mahasiswa yang berisi data-data :
· Nim
· Nilai
· Grade nilai
· Indeks Prestasi
a. Tipe data apa yang cocok untuk data diatas.
b. Bagaimana penulisan deklarasinya ?
2. Tipe bentukan :
Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram.
Tipe bentukan disusun oleh satu atau lebih tipe dasar.
Ada 3 macam Tipe bentukan :
1. String
2. Tipe dasar yang diberi nama dengan nama tipe baru
3. Rekaman (record)
String
String adalah deretan karakter dengan panjang tertentu.
Contoh :
’Halo-halo Bandung’
’Jurusan Manajemen Informatika’
’07680322’
Operasi String
Operasi terhadap string ada 2 macam :
1. Operasi penyambungan (concatenation)
2. Operasi perbandingan
a. Operasi penyambungan (concatenation)
Operator : +
Operator : ”+” disini bukanlah operator penjumlahan seperti tipe numerik (integer atau real). Operator ”+” berarti penyambungan.
Contoh :
’Teknik ’ + ’Informatika’ = ’Teknik Informatika’
’1’ + ’2’ = ’12’ (namun 1 + 2 = 3, mengapa ?)
b. Operasi perbandingan
Operasi perbandingan dengan string, memakai operator perbandingan seperti : = < > ≤ ≥ <>
Contoh :
’abcd’ = ’abc’
(hasil : False)
’aku’ < ’AKU’
(hasil : True)
String yang disusun oleh gabungan numeric dan karakter sering dinamakan Alfanumerik.
Misalnya :
’K079298’
’A051374’
SOAL LATIHAN :
Dibaca nama karyawan dan Gaji pokok. Gaji bersih yang diterima pegawai adalah :
Gaji bersih = Gaji pokok + Tunjangan – Pajak
Tunjangan karyawan dihitung 20 % dari Gaji pokok, sedangkan pajak adalah 15% dari Gaji pokok ditambah Tunjangan.
Buatlah algoritma flowchart dan programnya.
LOGIKA & ALGORTIMA
Selesai
Tidak
Ya
Memperbaiki Program
Ada
Kesalahanan
Compile Program
Menulis Program
Mulai
PENDEKLARASIAN VARIABEL :
Cara Pendeklarasian variabel sangat tergantung dari struktur program suatu bahasa pemrograman.
Contoh:
Program Lingkaran;
{Kamus atau Deklarasi }
var Jari, Keliling, Luas : real;
const phi = 3.14;
{ Algoritma }
begin
write(‘Harga Jari : ');
readln(Jari);
keliling = 2 * phi * jari
luas = phi * jari * jari
writeln(‘Harga Keliling : ‘, Keliling);
writeln(‘Harga Luas : ‘,Luas : ');
end.
int jumlah;
float harga;
Var
Total : integer;
Kode : String[5];
DIM A As Integer
DIM X As Single
DIM Y As Long
Atau
luas# ( Double
Run Program
Ada
Kesalahanan
Ya
Memperbaiki Program
Tidak
Program Harga_Brg;
{
Menghitung Harga Barang dan diskon
Harga Barang = Jumlah Barang x Harga Satuan
Diskon = 10% dari Harga Barang
}
uses Crt;
{ Deklarasi }
var Hrg_satuan, Jum_brg, Hrg_brg, Diskon : real;
{ Algoritma / bagian statement}
begin
Clrscr;
Write(‘Jumlah Barang : ');
Readln(Jum_brg);
Write(‘Harga Satuan : ');
Readln(Hrg_satuan);
Hrg_brg := Jum_brg * Hrg_satuan;
Diskon := 0.1 * Hrg_brg;
Hrg_brg := Hrg_brg – Diskon;
WriteLn('Diskon : ', Diskon);
WriteLn('Harga Barang : ', Hrg_brg);
Readln;
end.
PAGE
1
Edisi: 01 Rev: 0 Copyright © Perguruan Tinggi Raharja08/ 1 - 23
Get The Better Future By Computer Science