Sabtu, 28 Maret 2015

Struktur Program Pascal
 
Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu : bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal dapat terdiri dari :
 
1. Judul program
2. Blok program
    a. Bagian deklarasi
        - deklarasi label
        - deklarasi konstanta
        - deklarasi tipe
        - deklarasi variable
        - deklarasi prosedur
        - deklarasi fungsi
    b. Bagian pernyataan
 
Program pascal yang paling sederhana adalah program yang hanya terdiri dari sebuah bagian pernyataan saja.
 
Begin
End.
Bentuk umum dari bagian pernyataan adalah :
Begin
Statement;
End

Contoh :
Begin
Writeln ( ‘Saya pascal’ );
Writeln ( ‘--------------‘ )
End .
Outputnya : Saya pascal
---------------
Program pascal tidak mengenal aturan penulisan di kolom tertentu, jadi boleh ditulis mulai kolom berapapun. Penulisan statement-statement pada contoh program yang menjorok masuk beberapa kolom tidak mempunyai pengaruh diproses, hanya dimaksudkan supaya mempermudah pembacaan program, sehingga akan lebih terlihat bagian-bagiannya, dan baik untuk dokumentasi.
 
Judul program sifatnya optional dan tidak signifikan didalam program. Jika ditulis dapat digunakan untuk memberi nama program dan daftar dari parameter tentang komunikasi program dengan lingkungannya yang sifatnya sebagai dokumentasi saja. Judul program bila ditulis harus terletak pada awal dari program dan diakhiri dengan titik koma.
 
Contoh :
Program contoh ;
Begin
Writeln ( ‘Gunadarma’ );
Writeln( ‘---------------‘ );
End .
Pengulangan


Pengulangan adalah suatu cara untuk mengulangi eksekusi blok instruksi sampai suatu kondisi tertentu dipenuhi.

Bentuk Pengulangan FOR 

Bentuk pengulangan ini adalah yang paling sederhana, jika kita ingin melakukan aksi sebanyak N kali, maka kita bisa (dan sebaiknya) menggunakan bentuk pengulangan ini. Pengulangan dilakukan mulai dari suatu indeks awal, sampai dengan indeks akhir, misalnya:

for i:=1 to 5 do writeln('Hello'); 

akan mencetak 5 kali kata hello. Indeks loop (dalam kasus ini i) berguna karena dapat diakses di
dalam loop, seperti ini:

for i:=1 to 5 do writeln(i); 

yang akan mencetak angka 1 sampai dengan 5.
Bentuk loop ini sangat sederhana, karena kita bisa memastikan bahwa loop pasti akan berhenti, yaitu ketika nilai indeks sudah sama dengan nilai akhirnya. Perhatian: Anda disarankan untuk TIDAK mengubah INDEKS LOOP dalam program, seperti ini: 

for i:=1 to 5 do i:=i+2;

Karena hasilnya mungkin tidak dapat diprediksi. Bentuk Pengulangan WHILE - DO Terkadang jumlah pengulangan yang akan dilakukan belum diketahui di awal sehingga kita tidak bisa menggunakan bentuk perulangan for. Bentuk loop ini adalah

while (kondisi) do
begin
aksi;
end;
 

Aksi dalam while akan dilakukan selama kondisi memiliki nilai true, dan aksi mungkin tidak dilakukan sama sekali jika di awal loop kondisi sudah bernilai false. Hal yang perlu diperhatikan dalam loop ini adalah kepastian bahwa loop akan berhenti (bahwa suatu saat kondisi akan bernilai false).

Bentuk Pengulangan REPEAT - UNTIL 

Bentuk pengulangan while do mungkin tidak pernah mengeksekusi instruksi di dalam loop satu kalaupun jika kondisi sudah tidak terpenuhi. Jika diinginkan agar minimal sebuah aksi dieksekusi sekali, maka gunakan bentuk perulangan repeat until.

repeat
aksi;
until kondisi;
Aksi akan diulangi sampai kondisi bernilai true.
bentuk ini sama saja dengan:
aksi;
while (not kondisi) do
begin
aksi;
end;

Karena loop repeat bisa dikonversi ke bentuk while, maka hal yang perlu diperhatikan sama yaitu bahwa loop pasti akan berhenti. 

NESTED LOOP (Loop Bersarang)

Nested loop adalah loop yang memiliki loop di dalam bagian aksinya. Nested loop dapat dibuat dengan aneka bentuk loop yang sudah ada. Jadi kita bisa membuat loop for di dalam loop for, atau loop while dalam repeat until. Jumlah loop di dalam loop bisa sangat banyak (hanya dibatasi oleh kemampuan kompilator dalam menangani loop bersarang).
Nested loop for dapat memakai indeks loop di luarnya sebagai batas. Potongan program ini (dengan i dan j adalah integer):

for i:=1 to 5 do
begin
for j:=1 to i do
begin
writeln(“*”);
end;
end;
 

Akan mencetak:

*
**
***
****
*****

Invarian Loop 

Invarian Loop adalah kondisi dalam loop yang selalu benar sepanjang loop tersebut berjalan.
Contohnya dalam loop ini:
var i, jumlah :integer
begin
i:=0;
jumlah:=0;
while (i<5) do
begin
jumlah:=jumlah + i;
i:=i+1;
end;
end.

Dalam loop ini invarian loop adalah jumlah akan selalu ditambahkan dengan nilai i saat ini, dan nilai i akan selalu bertambah dengan satu dari nilai pada loop berikutnya, sehingga loop dijamin akan berhenti.
Invarian loop untuk loop sederhana mudah diperiksa, namun di dalam loop mungkin ada analisa
kasus yang akan mempersulit pemeriksaan apakah loop sudah benar.
Analisa Kasus

Instruksi (kalimat) kondisional adalah instruksi yang dilakukan berdasarkan kondisi boolean tertentu. Instruksi ini adalah instruksi yang sangat penting, yang memungkinkan komputer untuk bisa
“berpikir” dengan mengambil aksi berdasarkan kondisi boolean tertentu.
 
IF SederhanaBentuk paling sederhana dari pernyataan kondisional dalam setiap bahasa adalah if - then. 
Contoh:
if (a>b) then writeln(“A lebih besar dari B”);
bagian setelah if disebut dengan bagian kondisi dan bagian setelah then adalah bagian aksi. Jika aksi
lebih dari satu instruksi maka bisa dikelompokkan dalam blok begin end. Seperti ini:
 
if (a>b) then
begin
writeln(“Kesimpulan:”);
writeln(“A lebih besar dari B”);
end;

 
IF dengan ELSESelain if - then, ada bentuk kondisional lain yaitu if - then - else. Kita bisa mengubah instruksi semacam ini:
 
if (a>b) then writeln(“A lebih besar dari B”);
if (a<=b) then writeln(“A kurang dari atau sama dengan B”);

 
menjadi: 
if (a>b) then writeln(“A lebih besar dari B”) else (“A kurang dari atau sama dengan B”); Bagian else akan dieksekusi jika bagian kondisi tidak dipenuhi, atau dengan kata lain, bagian else dieksekusi jika kondisi yang terjadi adalah komplemen dari kondisi di bagian if.

Perhatikan : untuk memperjelas program, sebaiknya semua instruksi if yang memiliki else ditulis dengan komentar setelah else (untuk menjelaskan kondisi apa yang ditangani oleh else kepada pembaca program) seperti ini:
 
if (a>b) then
begin
writeln(“A lebih besar dari B”);
end else (* a<= b *)
begin
(“A kurang dari atau sama dengan B”);
end;

 
IF untuk banyak kondisiInstruksi if boleh digabung dengan banyak instruksi if menangani kondisi yang kompleks (banyak kondisi dan banyak aksi), seperti ini: if (kondisi_1) then
 
begin
aksi1;
end
else if (kondisi_2) then
begin
aksi2;
end else (* kondisi 1 dan 2 tidak dipenuhi*)
begin
aksi_n;
end.

Case untuk banyak aksiSelain IF, ada bentuk analisa kasus yang digunakan untuk menangani banyak kondisi yang ada dalam bentuk (a adalah suatu ekspresi yang menghasilkan tipe enumerasi, dan k1 .. kn adalah konstanta):
 
if (a = k1 ) then
begin
aksi1;
end else if (a = k2) then
begin
aksi2;
end else if (a=k3) then
begin
aksi3;
end else
begin
Aksi_n;
end;

Bentuk ini adalah bentuk case of, seperti ini: case a of
 
k1 :
begin
aksi1;
end;
k2 :
begin
aksi2;
end;
k3:
begin
aksi3;
end;
else
begin
aksi_n;
end;
end;
 
Hal yang perlu diperhatikan dalam analisa kasus dengan case adalah bahwa ekspresi yang bisa ditangani dalam case hanya yang nilainya bisa dienumerasi, yaitu integer (dan tipe range), boolean, dan tipe enum (dijelaskan pada bagian struktur data).

Jumat, 27 Maret 2015

PEMROGRAMAN PROSEDURAL

Pemrograman dalam paradigma prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan. Dalam bab ini akan dibahas hal-hal yang menjadi dasar dalam pemrograman prosedural, meliputi definisi algoritma dan konstruktor pemrograman prosedural, serta konsep Input, Proses, dan Output yang sangat lazim dalam dunia pemrograman prosedural.
 
Algoritma
Algoritma adalah serangkaian langkah-langkah yang tepat, terperinci, dan terbatas untuk menyelesaikan suatu masalah. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma.
 
Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer, instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat, karena “sedikit” tidak menyatakan sesuatu yang tepat.
 
Langkah yang diberikan harus terbatas, artinya suatu saat langkah harus berhenti, jika langkah tidak pernah berhenti (misalnya: “ambil air, masukkan ke bak mandi, ulangi ambil air, dan seterusnya”) maka serangkaian langkah itu tidak disebut sebagai algoritma (jika: “ambil air, masukkan ke bak mandi, ulangi ambil air sampai bak mandi penuh”, maka bisa disebut algoritma, namun langkah ambil air, masukkan ke bak mandi, harus diperinci).
 
Konstruktor (elemen) Pemrograman Prosedural
Elemen bahasa pemrograman prosedural yang penting adalah:
1. Program utama
2. Tipe
3. Konstanta
4. Variabel
5. Ekspresi, operator, dan operand
6. Struktur Data
7. Instruksi dasar
8. Program Moduler
9. File eksternal
10. Rekurens

Konstruktor ini tidak untuk dipelajari secara berurutan, namun semua perlu dipelajari dan dimengerti untuk dapat membuat program dengan baik.
Input, Proses, dan Output
 
Sekumpulan aksi dalam pemrograman prosedural bisa dibagi menjadi tiga bagian penting yaitu:
input, proses, dan output. Bagian input, proses, dan output dikerjakan secara sekuensial, dan dalam
setiap bagian mungkin akan ada input, proses, dan output.

 

 Konsep Pemrograman Prosedural

REKURENS

Fungsi dan prosedur bisa memiliki sifat yang rekursif, artinya prosedur dan fungsi tersebut memanggil dirinya sendiri dalam bagian implementasinya. Struktur data juga bisa memiliki sifat yang rekursif, yang artinya struktur data tersebut bisa menunjuk ke struktur data yang lain yang
sama. Struktur data rekursif tidak akan dibahas dalam buku ini, karena terlalu komplels. Fungsi rekursif hanya akan dibahas perkenalannya saja. Konsep rekursif bisa sangat rumit, dan akan dibahas di buku ain yang mengajarkan problem solving dan algoritma.
 

Fungsi yang rekursif 

Fungsi faktorial adalah contoh fungsi yang rekursif, fungsi rekursif ini mengandung dirinya sendiri
dalam definisinya:
faktorial n = faktorial (n – 1) * n
dan
faktorial 0 = 1
Perhatikan bahwa ada dua definisi fungsi ini, yaitu untuk n = 0 (yang hasilnya adalah 1) dan untuk n lebih dari nol (hasilnya adalah faktorial (n – 1) dikalikan dengan n. Bagian yang tidak memanggil dirinya sendiri (dalam kasus n = 0) disebut dengan basis, sedangkan bagian yang memanggil dirinya sendiri disebut sebagai bagian rekurens.

Function faktorial(n: integer):int;
begin
if (n=0) then (*basis*)
begin
faktorial:= 1;
end else (* rekurens *)
begin
faktorial:= n * faktorial ( n – 1);
end;
end;
 

Tanpa bagian basis, maka rekursi tidak akan berhenti, jadi bagian basis ini harus ada, dan harus dijamin bahwa pada suatu saat kondisi basis akan dipenuhi.
Rekursif dan interatif
Suatu bentuk rekursif bisa diubah menjadi bentuk iteratif (bentuk perulangan/loop), misalnya fungsi faktorial di atas dapat diubah menjadi:
Function faktorial(n: integer):int;
var i, hasil: integer;
begin
i:=0;
hasil:=1;
while (i<n) do
begin
i:=i+1;
hasil:=hasil * i;
end;
faktorial:= i;
end;
 

Secara umum semua bentuk rekursif bisa diubah menjadi bentuk interatif.

PENGENALAN PROGRAM UTAMA
DALAM PASCAL

Mengenal program utama dalam suatu bahasa akan memberikan gambaran global bagaimana
menulis program dalam bahasa tersebut. Program dalam bahasa Pascal memiliki format dasar seperti berikut (format lebih lengkap akan diberikan secara bertahap):
Program namaprogram;
begin
(*bagian program utama*)
end.
Kata-kata yang ditebalkan merupakan kata kunci (keyword) dalam bahasa Pascal. 
Kata kunci adalah kata-kata baku dalam bahasa Pascal yang memiliki arti khusus, kata-kata tersebut harus kita pakai sesuai dengan makna yang sudah berikan oleh Pascal, dan tidak bisa kita ubah. Bagian pertama berisi nama program. Bagian ini tidak wajib ada di kompilator Pascal yang baru, namun sebaiknya tetap ditulis, kita bisa memberi nama program dengan kata kunci program,
misalnya: program bilangan prima;
Bagian berikutnya adalah blok program utama yang ditandai dengan begin dan end. Perhatikan bahwa setelah end ada tanda titik yang menyatakan akhir program. Bagian di dalam tanda kurung diikuti oleh bintang/asterisk, (*seperti ini*) merupakan komentar program yang tidak akan diproses oleh kompilator (hanya untuk dibaca oleh manusia, sebagai tambahan keterangan).
Program yang diberikan di atas tidak melakukan apa-apa, meskipun dapat dikompilasi dan
dijalankan. Program sederhana yang dapat kita buat berikutnya adalah program “hello world” yang akan mencetak kalimat “hello world” ke layar 

Program hello;
begin
writeln('Hello World');
end.
 
Program tersebut juga ada pada buku Contoh Program kecil dalam bahasa Pascal. Beberapa hal yang
perlu diperhatikan adalah:
 
? Pascal tidak membedakan case atau kapitalisasi huruf (jadi writeln dengan WRITELN dianggap
sama)
 
? Setelah setiap instruksi harus ada titik koma (titik koma adalah pemisah antar instruksi), kecuali instruksi terakhir sebelum end, boleh ada titik koma, boleh juga tidak
 
? Writeln adalah salah satu prosedur standar Pascal
 
Batasan Penamaan Identifier
Identifier adalah nama yang diberikan untuk fungsi, prosedur, tipe, variabel, dan untuk program.
Semua nama yang disebutkan memiliki batasan tergantung pada kompilator yang digunakan, namun umumnya:
 
? Nama tidak boleh diawali dengan angka, 2you adalah identifier yang tidak valid
 
? Nama boleh berupa huruf yang digabung dengan angka, tapi tidak boleh diawali angka: its4you
 
adalah nama yang valid
 
? Nama yang hanya terdiri dari huruf saja pasti valid (sampai panjang tertentu, tergantung kompilator)
 
? Nama biasanya boleh mengandung tanda underscore (garis bawah seperti ini: nama_orang)

Perhatian: pilihlah nama yang singkat namun deskriptif untuk menamai apapun dalam program

Kamis, 26 Maret 2015


 Bahasa Pemrograman Dasar


Pengenalan
Komputer adalah mesin yang dapat melaksanakan seperangkat perintah dasar (instruction set). Agar komputer dapat melakukan sesuatu hal, harus diberikan perintah yang dapat dilaksanakannya, yaitu dalam bentuk kumpulan perintah-perintah dasar. Program komputer adalah sekumpulan instruksi yang dikenal oleh komputer dan disusun menurut urutan yang logis untuk menyelesaikan suatu masalah. Bahasa pemrograman adalah bahasa yang dapat diterjemahkan menjadi kumpulan perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program komputer yang disebut kompilator. Sintaks dari bahasa pemrograman lebih mudah dipahami oleh manusia daripada sintaks perintah dasar. Namun tentu saja komputer hanya dapat melaksanakan perintah dasar itu. Maka di sinilah peran penting kompilator sebagai perantara antara bahasa pemrograman dengan perintah dasar. Kegiatan membuat program komputer dengan menggunakan bahasa pemrograman disebut pemrograman komputer. Untuk dapat membuat program komputer, harus dikuasai bahasa komputer. Berbagai bahasa komputer telah diciptakan untuk membantu manusia memprogram komputer. Berdasarkan tingkatannya dikenal beberapa tingkat bahasa pemrograman diantaranya:
a. Bahasa Pemrograman tingkat dasar seperti: Bahasa Mesin, Bahasa Assembley.
b. Bahasa Pemrograman tingkat tengah seperti: Bahasa C, Bahasa FORTH.
c. Bahasa Pemrograman tingkat tinggi seperti: Bahasa Pascal, FORTRAN, COBOL, dan lain-lain.
Bahasa pemgrogram tingkat dasar, sebagai hirarki pertama, disebut juga bahasa generasi pertama, bahasa ini sangat tergantung pada jenis CPU yang dipakai oleh komputer itu. Bahasa ini sangat sulit dipelajari, karena sifatnya yang sangat tergantung pada mesinnya itu (machine dependent). Untuk menguasai bahasa ini, harus dipelajari dan dikuasai teknologi dan arsitektur komputer, matematika diskrit, elektronika, dan lain-lain. Bahasa ini masih menggunakan simbol-simbol yang bersifat mnemonic.
Bahasa pemrograman tingkat tengah, sifatnya sudah lebih mudah daripada bahasa pemrograman tingkat dasar, perintah-perintahnya sudah lebih mudah dibaca sebab sudah menggunakan huruf-huruf.
Bahasa pemrograman tingkat tinggi adalah bahasa komputer yang sudah mirip dengan bahasa manusia. Perintah-perintahnya sudah dibuat dalam bahasa yang mudah dimengerti manusia, seperti PRINT, WRITE, IF, THEN, ELSE, dan lain-lain.

Tahapan dalam PemrogramanLangkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah:
1. Defenisikan Masalah
    a. Tentukan apa yang menjadi masalah
    b. Tentukan data input yang diperlukan
    c. Tentukan output yang diinginkan
2. Buat bagan dan struktur cara penyelesaian
    a. Bagan secara global
    b. Deskripsikan tugas masing-masing subprogram
3. Pilih Metode Penyelesaian
    a. Pilih struktur data dan Algoritma terbaik
4. Pengkodean
    a. Pilih bahasa pemrograman yang sesuai 
    b. Menterjemahkan algoritma ke bahasa pemrograman
5. Mencari Kesalahan
    a. Kesalahan sintaks (penulisan program)
    b. Kesalahan Pelaksanaan: Semantik, Logika, dan ketelitian
6. Uji dan Verifikasi Program
7. Dokumentasi Program
8. Pemiliharaan Program
    a. Memperbaiki kekurangan yang ditemukan kemudian
    b. Memodifikasi, karena perubahan spesifikasi

Diagram AlirKonsep pemrograman dapat digambarkan juga dengan menggunakan diagram alir (flowchart). Diagram alir adalah simbol-simbol yang digunakan untuk menggambarkan sebuah pernyataan logika pemrograman serta aliran logika yang ditunjukkan dengan arah panah. Ada dua jenis diagram alir yaitu:
1. Diagram alir sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan procedure dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu system pengolahan data.
2. Diagram alir program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.

Berikut merupakan beberapa contoh simbol yang disepakati oleh dunia pemrograman:
Untuk memahami lebih dalam mengenai diagram alir ini, berikut ini diberikan beberapa buah kasus sederhana.
Kasus 1:
Buatlah sebuah rancangan program dengan menggunakan diagram alir, mencari luas persegi panjang.
Solusi 1:
Perumusan untuk mencari luas persegi panjang adalah:
L = p. l
dimana, L adalah Luas persegi panjang, p adalah panjang persegi dan l adalah lebar persegi.
Flowchart 1

Keterangan 1:
1. Simbol pertama menunjukkan dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa input data dari p dan l.
3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L= l. p
4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
5. Simbol kelima atau terakhir menujukkan berakhirnya program dengan tanda End.
Kasus 2:
Mencari akar-akar persamaan kuadrat f(x) =ax2+bx+c=0
Solusi 2:
Telaah masalah terlebih dahulu, yaitu perumusan nilai akar-akar persamaan kuadrat tersebut:
Misalkan
D=b2-4ac, selanjutnya
jika untuk nilai D >= 0, solusinya adalah
Selain nilai D>=0 adalah D<0. Karena hasil akar dari D<0 bernilai imaginer, maka solusi akar persamaan tersebut tidak ada.
Flowchart 2:

Keterangan 2:
1. Simbol 1 menunjukkan dimulainya sebuah program.
2. Simbol 2 menunjukkan input data dari a, b dan c.
3. Simbol 3 menunjukkan suatu keputusan yang akan dipilih, yaitu jika nilai a memenuhi kriteria a > 0, maka akan melanjutkan ke proses selanjutnya. Jika tidak, maka akan kembali ke simbol 2
4. Data dari a, b dan c akan diproses pada simbol keempat dengan menggunakan perumusan D=b2-4ac
5. Simbol 5 menunjukkan suatu keputusan yang akan dipilih, jika hasil output dari proses dari simbol 4, yaitu D >=0, maka akan melanjutkan ke proses di simbol 6y dan 7, jika tidak memenuhi, maka akan melanjutkan ke simbol 6t.
6. Simbol 6y dan 7 adalah proses perhitungan x1 dan x2.
7. Simbol 8 adalah nilai output dari proses 6y dan 7
8. Simbol 6t menunjukkan output yang berupa text “Akar Imaginer”.
9. Simbol 9 atau terakhir menujukkan berakhirnya program dengan tanda End.
Dari dua contoh kasus di atas, jelaslah bahwa diagram alir (flowchart) dapat menunjukkan logika proses berjalannya suatu program. Konsep runtunan, pemilihan dan perulangan perlu dipelajari dan dipahami terlebih dahulu sebelum melangkah ke proses pemahaman pemrograman lebih lanjut.

Syarat Program yang BaikProgram yang baik haruslah memenuhi beberapa kriteria, antara lain:
1. Program haruslah sesuai dengan tujuan dan memenuhi spesifikasi yang telah ditentukan.
2. Fleksibel
3. Tidak mengandung kesalahan
4. Didokumentasi secara baik
5. Cepat dalam waktu penggunaannya
6. Efesien dalam penggunaan memori komputer

KONSEP DASAR PEMROGRAMAN

Pengertian Dasar Program adalah rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.

Pengertian Pemrograman adalah suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang dimengerti  oleh komputer atau dikenal dengan bahasa pemrograman.
Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output), lalu dikembangkan mejadi : 
Originating -> input -> proses -> Output -> Distribution
||
Storage

Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.

Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input.

Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput berupa proses   menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari di storage.

Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)

Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.

Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya.

DATA
Data adalah bahan mentah yang akan diolah menjadi informasi sehingga  dapat dipergunakan oleh user atau pemakai.
1. Tipe Data Dasar : Merupakan tipe data primitif yang tidak terstruktur yang didefinisikan oleh        bahasa pemrograman.
Tipe data dasar dibagi menjadi lima bagian yaitu :
a. Numerik, yaitu menyimpan data berupa angka
b. Enumerasi, yaitu suatu urutan list dari nilai-nilai yang berbeda.
c. Boolean, yaitu tipe data untuk merepresentasikan True atau False.
d. Character, yaitu tipe data untuk menyimpan rangkaian karakter.
e. Internationalization, disebut I18N

2. Tipe Data Terstruktur : Merupakan tipe data campuran dari berbagai tipe data dasar. Contohnya array, record, string, list dan file.

3. Tipe Data didefinisikan oleh Pemakai : Tipe data ini biasanya disebut Enumerasi.

4. Tipe Data Penunjuk : Contoh tipe data penunjuk adalah pointer

Model Komputasi
Model Komputasi adalah suatu kumpulan dari nilai dan operasi-operasi. Ada 3 dasar model komputasi :

1. Model Fungsional, yaitu model perhitungan yang fungsional terdiri dari satu set nilai-nilai, fungsi 
dan operasi, aplikasi, fungsi dan komposisi fungsi.

2. Model Logika, yaitu logika model perhitungan terdiri dari suatu set nilai-nilai, definisi hubungan dan kesimpulan logis.

3. Model Imperative, yaitu model perhitungan yang imperative terdiri dari satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas untuk memodifikasi status tersebut.

Prinsip Bahasa Pemrograman
Empat prinsip dasar perancangan bahasa pemrograman adalah:

1. Sintaks, menjelaskan bagaimana struktur program yang benar.

2.Tipe sistem dan semantik, menunjukkan tipe nilai yang dapat dimanipulasi oleh program dan arti(semantik) dari program, mencakup juga aturan penamaan entitas (variabel,fungsi,class,parameter,dll).

3. Manajemen memori, menunjuk kepada sekumpulan teknik yg membantu kita untuk memahami pemetaan letak dari nilai, struktur data, dan struktur program di dalam memori.

4. Exception handling, mengenai penanganan exception (hal-hal yang tak terduga seperti kesalahan input ketika menjalankan program).

Definisi Sintaks, Semantik, dan Pragmatik
Sintaks   : Aturan gramatikal / komposisi suatu program yang mengatur tata cara penulisanhuruf, angka dan karakter lain.
Contoh : Pada pembuatan program Pascal antara 2 statement dipisahkan oleh ; (titik koma)
X:=1;  X:=X+1;

Semantik : Mendefinisikan arti dari program yang benar secara sintaks dari bahasa pemrograman tersebut.
Contoh : Pada pembuatan program C
int vector[10]
Arti semantiknya akan menyebabkan ruang sebanyak 10

Pragmatik  : Kemampuan pemakai dalam mengaitkan kalimat dengan kontek-kontek yang sesuai bagi kalimat tersebut.
Contoh : (A+B)*(A-B)

Sekian dan Terima Kasih

Regards



Setiawan Syah Zebua