Departemen Ilmu Komputer,...
Transcript of Departemen Ilmu Komputer,...
1/8/2011
1
Pertemuan 13-14: Dasar Pemrograman
Penerapan Komputer (KOM201), SKS: 3(2-2)
Sub pokok bahasan
Departemen Ilmu Komputer, FMIPA-IPB
Program Komputer dan Bahasa
Pemrograman
� Program komputer: sekumpulan instruksi yang mengarahkan komputer untuk melalukan tugas tertentu.
� Bahasa pemrograman digunakan untuk menulis instruksi
� Bahasa pemrograman: kumpulan dari kata-kata yang sudah didefinisikan sebelumnya (predefined words) yang dikombinasikan dengan menggunakan sintaks
Departemen Ilmu Komputer, FMIPA-IPB
� Sintaks: suatu aturan yang sudah didefinisikan sebelumnya (predefined rules).
� Programmer, kadang-kadang dinamakan developer, membuat atau memodifikasi program komputer
Program Komputer
dan Bahasa Pemrograman
� Low-level language dan high-level language
High-level languageHigh-level language
Low-levellanguageLow-levellanguage
Bersifat machine-dependenthanya berjalan pada satu tipe
komputer
Bersifat machine-dependenthanya berjalan pada satu tipe
komputer
Umumnya bersifat machine-independent
dapat berjalan pada tipe-tipe komputer yang berbeda
Umumnya bersifat machine-independent
dapat berjalan pada tipe-tipe komputer yang berbeda
Contoh: bahasa mesin dan bahasa assembly
Contoh: bahasa mesin dan bahasa assembly
Departemen Ilmu Komputer, FMIPA-IPB
Low-Level Language – bahasa mesin
� Bahasa yang dikenali oleh komputer secara langsung
� Muncul sekitar tahun 1940an
� Masing-masing jenis komputer pada masa itu memiliki bahasa mesinnya sendiri.
Departemen Ilmu Komputer, FMIPA-IPB
Bahasa simbolik (symbolic language)
� Muncul tahun 1950an
� Dibuat oleh Grace hopper, seorang matematikawan
� menggunakan simbol untuk mewakili instruksi-instruksi pada bahasa mesin.
� symbolic language disebut juga assembly language.
� assembler digunakan untuk menerjemahkan simbol ke dalam instruksi yang sebenarnya dalam bahasa mesin
1. entry main, ^m<r2>
2. subl2 #12, sp
3. jsb C$MAIN_ARS
4. movab $CHAR_STRING_CON
5. pushal -8(fp)
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
2
Low-Level Language – Bahasa Assembly
� Instruksi-instruksi dibuat dari kode instruksi simbolik, singkatan yang memiliki makna dan kode
� Source program mengandung kode yang dikonversi ke bahasa mesin
Departemen Ilmu Komputer, FMIPA-IPB
Bahasa Pemrograman Tingkat Tinggi
� Muncul tahun 1960an
� Bahasa tingkat tinggi dirancang sehingga programmer tidak lagi harus memikirkan pengkodean sebuah instruksi mesin ke dalam simbol-simbol.
� Contoh: BASIC, COBOL, Pascal, Ada, dan C.
� Seperti bahasa simbolik, harus dikonversi ke dalam bahasa mesin.
1. # include <iostream.h>
2. int main (void)
3. {
4. // Local declarations
5. int number1;
6. int number2;
7. int result;
8. // Statements
9. cin >> number1;
10. cin >> number2;
11. result = number1*number2;
12. cout << result;
13. return 0;
14.} //main
� Proses penerjemahan ke dalam bahasa mesin disebut proses kompilasi (compilation)
Departemen Ilmu Komputer, FMIPA-IPB
Bahasa Pemrograman Tingkat Tinggi -
Compiler
� Program yang mengkonversi seluruh source program ke dalam bahasa mesin sebelum program tersebut dieksekusi
� Langkah mendapat executable(machine language) file:
� menulis dan mengedit program
� kompilasi terhadap program
� link program dengan modul dan library yang dibutuhkan
Departemen Ilmu Komputer, FMIPA-IPB
Langkah mendapat executable (machine
language) file
� Program setelah ditulis dan disimpan dalam tempat penyimpanan disebut sebagai source file.
� Source file dikompilasi ke dalam bahasa mesin menjadi object file
� Object file kemudian mengalami proses ketiga yang disebut dengan linking process.
� Linker akan menghubungkan semua fungsi yang terdapat dalam program dengan modul dan library yang diperlukan untuk menghasilkan executable file.
Departemen Ilmu Komputer, FMIPA-IPB
Bahasa Pemrograman Tingkat Tinggi -
Interpreter
� Interpreter
1. membaca sebuah pernyataan dan
2. mengkonversinya ke satu atau lebih instruksi bahasa mesin dan
3. kemudian mengeksekusi instruksi bahasa mesin tersebut.
� Ketika menemukan error pada saat mengkonverksi satu baris kode program, pesan error akan segera ditampilkan pada layar dan program berhenti dieksekusi.
� interpreter tidak menghasilkan object program.
Departemen Ilmu Komputer, FMIPA-IPB
Kategori dan Contoh Bahasa
Pemrograman tingkat tinggi
Departemen Ilmu Komputer, FMIPA-IPB
� Bahasa prosedural mengeksekusi setiap baris perintah satu persatu dari awal sampai akhir sesuai dengan urutan prosedur yang terdapat didalamnya. � Contoh: FORTRAN, COBOL, Pascal, C, dan Ada.
� Disebut juga bahasa generasi ketiga (third-generation languange (3GL)
� Bahasa berorientasi obyek memiliki pandangan yang berbeda untuk menyelesaikan masalah. � Bahasa berorientasi obyek memecah masalah menjadi obyek-obyek yang saling berkaitan.
� Contoh: C++ dan Java.
1/8/2011
3
Kategori dan Contoh Bahasa
Pemrograman tingkat tinggi
� Bahasa fungsional, sebuah program dianggap sebagai sebuah fungsi matematika.
� Contoh: LISP dan Scheme.
� Bahasa deklaratif menggunakan prinsip logika matematika untuk menjawab masalah yang ada.
� Program terdiri dari beberapa statement pendahuluan yang memuat fakta, untuk kemudian diakhiri dengan beberapa kesimpulan.
� Contoh: Prolog.
� Beberapa bahasa dikembangkan untuk berbagai keperluan khusus.
� Contoh: PERL dan SQL.
Departemen Ilmu Komputer, FMIPA-IPB
Algoritme
� Algoritme: urutan langkah-langkah terurut yang digunakan untuk menyelesaikan masalah.
� dibuat untuk membantu penulisan program.
• Algoritme harus memenuhi sifat-sifat berikut:� Langkah-langkah dalam algoritme harus sederhana dan
tidak memiliki arti ganda.� Algoritme harus efektif bahwa algoritme harus selalu
menyelesaikan masalah dalam sejumlah langkah berhingga.
Departemen Ilmu Komputer, FMIPA-IPB
Tahap penyelesaian masalah
menggunakan komputer
Penyelesaian sebagai suatu program
komputer
Penyelesaian dalam bentuk algoritme
Tahap penyelesaian masalah
Tahapimplementasi
Departemen Ilmu Komputer, FMIPA-IPB
Deskripsi Algoritme
� Langkah-langkah verbal.
� Diagram alur (flow chart), diagram alur menunjukkan logika dari algoritme yang menekankan langkah-langkah individual dan hubungannya.
� Simbol dalam diagram alur:
proses keputusan input output
Departemen Ilmu Komputer, FMIPA-IPB
Contoh algoritme sederhana:
� Diberikan dua bilangan bulat (dalam variabel a dan b). Algoritme Tambah menentukan jumlah dari dua bilangan bulat dan mencetak hasil penjumlahan tersebut.
� Hasil penjumlahan disimpan dalam variabel jumlah.
Departemen Ilmu Komputer, FMIPA-IPB
Langkah-langkah verbal
Algoritme Tambah
1 [Input dua bilangan bulat]
baca(a,b)
2 [Hitung penjumlahan dua bilangan]
jumlah ← a + b
3 [Output]
cetak(jumlah)
Keterangan:
• Kalimat dalam kurung siku adalah keterangan yang memberikan penjelasan singkat tentang langkah tertentu.
∀ ←←←← menyatakan operator penugasan
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
4
Contoh 1
� Diberikan alas segitiga (dalam variabel alas) dan tinggi segitiga (dalam variabel tinggi).
� Algoritme Segitiga menentukan luas segitiga (disimpan dalam variabel luas) berdasarkan nilai alas dan tinggi yang diberikan.
Departemen Ilmu Komputer, FMIPA-IPB
Algoritme volume_balok
1 [Input sisi1,sisi2,sisi3]
baca(sisi1,sisi2,sisi3)
2 [Hitung volume balok]
volume ← sisi1*sisi2*sisi3
3 [Output]
cetak(volume)
Langkah-langkah verbal
Departemen Ilmu Komputer, FMIPA-IPB
Contoh 2
� Diberikan panjang dari sisi segitiga (dalam variabel sisi1, sisi2).
� Algoritme Phytagoras menentukan dan mencetak panjang sisi ke 3 (sisi3).
sisi1
sisi2
sisi3
Departemen Ilmu Komputer, FMIPA-IPB
Algoritme Phytagoras
1 [Input sisi yang diketahui]
baca(sisi1, sisi2)
2 [Hitung kuadrat dari panjang sisi yang diketahui]
SQ1 ← sisi1↑2
SQ2 ← sisi2↑2
(Maksud dari tahap ini adalah untuk mengurangi kompleksitas dari pernyataan dalam langkah 3)
3 [Hitung panjang sisi miring]
sisi3 ← SQRT(SQ1+SQ2)
(SQRT menunjukkan operasi akar kuadrat)
4 [Output]
cetak(sisi1,sisi2,sisi3)
Latihan: buat diagram alur untuk Algoritme Phytagoras
Departemen Ilmu Komputer, FMIPA-IPB
Dasar Pemrograman Pascal� Sejarah perkembangan Pascal dimulai pada tahun 1960, yaitu ketika bahasa ALGOL 60 digunakan sebagai algorithmic language.
� Nama Pascal diambil dari nama seorang ahli matematika dan ilmu pengetahuan bangsa Perancis, yaitu Blaise Pascal (1623-1662).
Tampilan Editor Turbo Pascal for Windows Versi 1.5
Departemen Ilmu Komputer, FMIPA-IPB
Struktur Bahasa Pascal
Secara garis besar, Pascal terdiri dari tiga bagian utama, yaitu :
� Bagian Judul Program (Nama Program).
� Blok program, terdiri dari 2 bagian:
� Bagian Deklarasi : Terdiri dari
Deklarasi / Definisi Tipe Data
Deklarasi / Definisi Konstanta
Deklarasi Label
Deklarasi Variabel
Deklarasi Procedure dan/atau Function
� Bagian pernyataan
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
5
Program hello world
{1} program hello_world; uses wincrt;
{2} var
{3} world_stmt: string;
{4} begin
{5} world_stmt := 'Hello world!';
{6} writeln(world_stmt);
{7} end.
Departemen Ilmu Komputer, FMIPA-IPB
Contoh 1: Program Tambah
Program Tambah; {Judul Program}
Var x,y,z : integer;
{Deklarasi Variabel}
Begin {Awal Program }
x := 20;
y := 30;
x : = 10;
z := x + y;
End. {Akhir Program}
Departemen Ilmu Komputer, FMIPA-IPB
Contoh 2: Program Segitiga
Program Segitiga; {Judul Program}
Var alas,tinggi,luas : real;
{Deklarasi Variabel}
Begin {Awal Program }
alas := 20;
tinggi := 30;
luas := (alas*tinggi)/2;
End. {Akhir Program}
Departemen Ilmu Komputer, FMIPA-IPB
Contoh 3: Program Volume Balok
Program volume_balok; {Judul Program}
Var sisi1,sisi2,sisi3,volume : integer;
{Deklarasi Variabel}
Begin {Awal Program }
sisi1:= 20; sisi2:= 25; sisi3:= 30;
volume := sisi1*sisi2*sisi3;
End. {Akhir Program}
Departemen Ilmu Komputer, FMIPA-IPB
Pengertian Identifier
� Identifier diperlukan sebagai tanda pengenal untuk mencapai suatu lokasi memori.
� Identifier digunakan untuk :
� Nama Program
� Nama Variabel, Konstanta, Label dan Tipe Data
� Nama Procedure dan Function.
� dengan identifier maka objek-objek pemrograman dipanggil untuk digunakan.
Departemen Ilmu Komputer, FMIPA-IPB
Ketentuan penulisan identifier:
1. Identifier harus dimulai oleh karakter huruf, yaitu : a ... z, atau A ... Z , atau karakter garis bawah (underscore) yaitu _
2. Karakter berikutnya boleh menggunakan karakter numerik yaitu 0 ... 9 atau kombinasi dari karakter huruf dan numerik.
3. Jumlah karakter yang digunakan tergantung dari versi Pascal, tetapi umumnya tidak lebih dari 63 karakter, secara praktis angka ini sudah lebih dari cukup.
4. Tidak boleh menggunakan karakter istimewa.
5. Tidak membedakan huruf besar (kapital) dengan huruf kecil (Not Case Sensitive).
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
6
Karakter istimewa
� adalah karakter karakter yang telah dicadangkan untuk keperluan tertentu seperti sebagai operator atau sebagai pembatas dan sebagainya.
� Karakter istimewa yang dimaksud adalah :
+ - * / = < > [ ] . , ( ) 0 : ; ^ @ { } $ #
Departemen Ilmu Komputer, FMIPA-IPB
Fungsi karakter-karakter istimewa
� + - * / digunakan untuk operasi aritmatika
� = < > digunakan untuk operasi relasional
� . ; sebagai delimiter , batas suatu program, statemen atau procedure
� { } sebagai tanda yang membatasi suatu komentar,
� dan sebagainya.
Departemen Ilmu Komputer, FMIPA-IPB
Contoh penulisan identifier yang benar
A ; _B ; B2 ; Sudut_A ; LuasLingkaran ;ABC3FG ;IdentifierYangSangatPanjang
Contoh penulisan identifier yang salah• 2D, karena karakter numerik tidak boleh ditulis pada posisi awal
• Sisi B, karena tidak diijinkan adanya karakter kosong (blank)
• Sudut-C, karena tanda - digunakan sebagai operator minus
• BC#, karena karakter # adalah karakter istimewa.
Departemen Ilmu Komputer, FMIPA-IPB
Jenis Identifier
� Identifier Umum adalah identifier yang dapat ditulis secara bebas, sepanjang mengikuti aturan-aturan di atas.
� Identifier Standar adalah identifier yang pada dasarnya telah digunakan oleh Pascal di dalam kepustakaannya, walaupun demikian pemrogram boleh mendeklarasikan kembali. Sebagai contoh dari identifier standar yang digunakan oleh TURBO Pascal, adalah : pi, blue, maxint, dsb.
� Identifier Terlindung (Kata Terlindung) juga digunakan oleh Pascal, tetapi sama sekali tidak boleh dideklarasikan kembali oleh pemrogram , contoh identifier terlindung atau kata terlindung (reserved word):
program, begin, end, var, const, type, while, do dsb.
Departemen Ilmu Komputer, FMIPA-IPB
Variabel dan Konstanta
� Variabel adalah konsep matematis yang menggunakan simbol, dimana simbol tersebut dapat dioperasikan dengan nilai yang berbeda dan boleh berbeda pada setiap saat tergantung keperluan.
� Konstanta, sebuah lokasi memori yang telah diberi identifier, hanya saja isi dari lokasi tersebut tetap sepanjang program berjalan.
� Variabel dan kosntanta keterkaitan dengan tipe data dan seperangkat operator.
Departemen Ilmu Komputer, FMIPA-IPB
Mendeklarasikan variabel adalah
1. Menentukan atau memberi identitas dengan cara memberi nama variabel
2. Menentukan tipe data
Contoh deklarasi variabel :
var x,y : integer;
Z: real;
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
7
Mendefinisikan konstanta adalah
1. Menentukan atau memberi identitas dengan cara memberi nama konstanta
2. Menentukan nilai konstanta, dari nilai konstanta tersebut dapat diketahui tipe data.
Contoh deklarasi konstanta :
const k = 10;
Const phi = 3.14;
Departemen Ilmu Komputer, FMIPA-IPB
Tipe Data
1. Tipe Data Sederhana� Integer (Bilangan Bulat)
� Real (Bilangan Pecahan)
� Char (Karakter alphanumerik dan tanda-tanda baca)
� Boolean (Logika)
2. Tipe Data Terstruktur� Array
� Record,
� Set dan
� File
3. Tipe Data Pointer
Departemen Ilmu Komputer, FMIPA-IPB
Tipe Data sederhana
Ukuran Lokasi
Rentang Nilai
Integer 2 Byte- 32768 s/d 32767
Real 6 Byte29 x 10 -39 s/d 1.7 x 10 38
Char 1 ByteTabel ASCII
Boolean 1 Byte False, True
Tipe Data Char
� Tipe char merupakan tipe data yang non-numerik, nilai yang dapat diberikan kepada suatu variabel dengan tipe data char, adalah semua karakter yang ada di tabel ASCII
� Contoh deklarasi variabel char :var c : char;
� Contoh deklarasi konstanta char :const Tidak = ‘T’;
� Penulisan karakter adalah dengan mengapit karakter dengan tanda petik tunggal ('), sebagai contoh, karakter A harus ditulis 'A', demikian juga karakter numerik, misalnya karakter numerik 6 harus ditulis '6'.
Departemen Ilmu Komputer, FMIPA-IPB
Tipe Data String dan Boolean
Tipe data string� yaitu tipe data yang dapat mendeklarasikan suatu variabel sehingga dapat menampung lebih dari satu karakter.
� Bila suatu variabel direncanakan untuk menampung 10 karakter, maka ia harus dideklarasikan sebagai tipe string, yaitu dengan deklarasi variabel :
var s : string[10];
� Deklarasi konstanta string :
const E = ‘Tekan Tombol Enter’;
Tipe data Boolean
� Mempunyai dua kemungkinan nilai : True atau False.
� Contoh deklarasi tipe boolean :
var sukses : boolean;
Departemen Ilmu Komputer, FMIPA-IPB
Operator
Operator Operasi Tipe Operand Tipe hasil
+ Penambahan Integer, real Integer atau real
- PenguranganInteger
real
Integer
Real
* PerkalianInteger
real
Integer
Real
/ PembagianInteger
Real
Real
Real
mod Pembagian Integer Integer
div Sisa bagi Integer Integer
Operator Aritmetika
• Beberapa jenis operator standar, yaitu operator aritmatika, boolean, relational, set dan string,
Departemen Ilmu Komputer, FMIPA-IPB
Operator Logika
Operator OperasiTipe
OperandTipe hasil
Not Negasi Boolean Boolean
and Logika AND Boolean Boolean
or Logika OR Boolean Boolean
Xor Logika XOR Boolean Boolean
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
8
Operator Relasional
Operator Operasi Tipe Operand Tipe hasil
= Sama DenganSederhana,String Pointer, dan Set
Boolean
<>Tidak Sama
DenganIdem
Boolean
< Lebih Kecil Dari Sederhana,StringBoolean
> Lebih Besar Dari Idem Boolean
<= Lebih Kecil atau
Sama DenganIdem Boolean
>=
Lebih Besar atau
Sama DenganIdem Boolean
Departemen Ilmu Komputer, FMIPA-IPB
Ekspresi
� kombinasi atau gabungan antara operator dengan operand (variabel, konstanta, bilangan dsb.), contoh ekspresi yang paling sederhana adalah sebuah variabel, misalkan :
var a : integer;� variabel a merupakan ekspresi yang paling sederhana, karena ekspresi selalu menghasilkan suatu nilai, pada contoh di atas nilai ekpresi a adalah isi dari variabel a itu sendiri.
Departemen Ilmu Komputer, FMIPA-IPB
Jenis ekspresi sesuai dengan jenis nilai
yang dihasilkan, yaitu :
� Ekspresi Numerik, nilainya selalu numerik, integer atau real
� Ekspresi Boolean, nilainya selalu boolean, true atau false.
� Ekspresi String, dengan nilai string.
Ekspresi Matematika Ekspresi Pascal
a+b a+b
x(y+z) x*(y+z)
b2 - 4.a.c b * b - 4 * a * c
Perbandingan Penulisan Ekspresi
Departemen Ilmu Komputer, FMIPA-IPB
Pernyataan seleksi (1)
� Konstruksi IF-THEN-ELSE:
IF “kondisi’
THEN “pernyataan 1”
ELSE “pernyataan 2”
Contoh:IF A > B
Then cetak(A)
Else cetak(B)
Departemen Ilmu Komputer, FMIPA-IPB
Pernyataan seleksi (2)
Diagram alur IF-THEN Diagram alur IF-THEN-ELSE
Departemen Ilmu Komputer, FMIPA-IPB
Masukan dan Keluaran
� Pernyataan masukanread(x);
artinya : masukan data dari papan tombol ke variabel x.� Pernyataan penayangan ke layar
write dan writeln. write('TEST'); Dengan perintah write, kata TEST akan ditayangkan di layar monitor,pada posisi kursor sebelum perintah dijalankan, setelah perintah dijalankan, kursor pindah ke ujung kata TEST.
writeln('TEST'); Sama seperti perintah write, tetapi posisi kursor pindah ke baris berikutnya, setelah perintah writeln dijalankan.
Departemen Ilmu Komputer, FMIPA-IPB
1/8/2011
9
Contoh
Algoritme Rata-rata
1 [Input dua bilangan bulat]
baca(a,b)
2 [Hitung penjumlahan dan rata-rata dua bilangan]
jumlah ← a + b
rataan ← jumlah/2
3 [Output]
cetak(rataan)
Departemen Ilmu Komputer, FMIPA-IPB
Program Rata-rataProgram rata2;
var a,b,jumlah : integer;
rataan : real;
begin
{1} write('Masukan nilai pertama : ');
readln(a);
{2} write('Masukan nilai kedua : ');
readln(b);
{3} jumlah := a + b;
{4} rataan := jumlah/2;
{4} writeln(‘Rataan = ', rataan:6:2);
end.Output: Masukan data pertama : 20Masukan data kedua : 30Rataan = 25.00
Departemen Ilmu Komputer, FMIPA-IPB
program phytagoras;
uses wincrt;
var a, b,kuadrat_a, kuadrat_b: integer;
c: real;
begin
write('masukan sisi 1: ');readln(a);
write('masukan sisi 2: ');readln(b);
kuadrat_a := a*a;
kuadrat_b := b*b;
c:=sqrt(kuadrat_a + kuadrat_b);
writeln('nilai sisi 3: ', c:4:2, ' cm');
end.
Departemen Ilmu Komputer, FMIPA-IPB
program rataan_nilai;
uses wincrt;
var nama : string[10]; nrp: string[9];
n_penkom, n_kimia, rataan:real;
begin
writeln('---------------------------');
write('masukan nama: '); readln(nama);
write('masukan nrp: '); readln(nrp);
write('1. nilai penkom: '); readln(n_penkom);
write('2. nilai kimia: '); readln(n_kimia);
rataan:=(n_penkom+n_kimia)/2;
writeln('rataan : ', rataan:6:2);
writeln('---------------------------');
end.
Departemen Ilmu Komputer, FMIPA-IPB
Tahapan membuat program sederhana
1. Definisi masalah• IPO chart
2. Pembuatan algoritme� Setelah dibuat, algoritme harus diuji untuk menentukan apakah algoritme tersebut telah melakukan proses yang benar.
� Pengujian algoritme dapat dilakukan dengan memberikan data untuk variabel input dan mencatat nilai yang diambil oleh variabel pada setiap langkah dalam algoritme.
� Setiap langkah dieksekusi secara berurutan.
3. Implementasi menggunakan bahasa permograman
Departemen Ilmu Komputer, FMIPA-IPB
Penutup
Departemen Ilmu Komputer, FMIPA-IPB