Monday, November 29, 2010

Pemrograman

Secara umum, dalam pemrograman terstruktur terdiri dari 3 struktur, yaitu stuktur runtutan, percabangan dan perbandingan. Masing-masing struktur akan dijelaskan dibawah ini.

1. Struktur Runtutan
Pada struktur runtutan/ berurutan setiap pernyataan akan dikerjakan satu per satu sesuai dengan urutan penulisan algoritma program. Setiap pernyataan dilaksanakan tepat satu kali dan tidak ada pernyataan yang diulang atau pernyataan yang tidak dilaksanakan. Akhir dari pernyataan terakhir merupakan akhir dari algoritma program tersebut.
Jika pernyataan dilambangkan dengan A1, A2, A3……., An, maka pelaksanaan instruksi dapat digambarkan sebagai berikut:


Jika digambarkan dalam flowchart:



2. Struktur Percabangan
Pada struktur percabangan memungkinkan suatu pernyataan untuk dieksekusi hanya jika suatu kondisi tertentu terpenuhi atau tidak terpenuhi. Struktur percabangan disebut juga dengan struktur pemilihan. Terdapat beberapa pernyataan yang akan dipilih berdasarkan suatu kondisi. Sehingga terdapat bagian pernyataan yang dilewati atau tidak dijalankan oleh program.
Terdapat dua macam instruksi struktur percabangan dalam pemrograman, yaitu IF dan Case yang akan kita pelajari pada bab selanjutnya.
Jika digambarkan dalam flowchart:



3. Struktur Perulangan
Struktur perulangan merupakan struktur algoritma yang akan melakukan suatu proses/ eksekusi yang berulang-ulang jika suatu kondisi terpenuhi atau tidak terpenuhi. Proses perulangan ini biasanya digunakan untuk:
a. Mengulang proses pemasukan data
b. Mengulang proses perhitungan
c. Mengulang Proses penampilan hasil pengolahan data
Struktur perulangan terdiri dari:
a. Inisialisasi
Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
b. Kondisi pengulangan
Ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan.
c. Badan pengulangan
Satu atau lebih aksi/ pernyataan yang akan diulang.
d. Terminasi
Aksi yang dilakukan setelah pengulangan selesai dilakukan.
Bentuk umum perulangan:

Awal perulangan
Badan perulangan
Akhir perulangan

Kondisi perulangan dapat berada pada awal perulangan atau akhir perulangan.
Bentuk instruksi pengulangan dan pemrograman terstruktur ada tiga macam, yaitu:
a. For – Next
b. While – Do
c. Repeat – Until
Jika digambarkan dalam flowchart:

Bahasa Pemrograman Pascal

Bahasa pemrograman Pascal termasuk dalam bahasa pemrograman tingkat tinggi. Struktur Program dalam Pascal terdiri dari 3 bagian, yaitu:
1. Kepala Program
2. Bagian Deklarasi
3. Bagian Pernyataan (program utama)

Kepala Program
Sebuah program pascal diawali bagian kepala program. Penulisan kepala program diawali dengan kata tercadang (reserved word) PROGRAM, kemudian diikuti oleh nama program dan diakhiri tanda titik koma.
Bentuk umum: PROGRAM nama_program;
Contoh: PROGRAM menghitung_luas_lingkaran;

Aturan Pemberian Nama Program Pascal
1. Harus dimulai dengan huruf alphabet (a..z atau A..Z).
2. Selanjutnya dapat diikuti oleh angka (0..9), alphabet atau garis bawah.
3. Tidak boleh memuat spasi, spasi dapat digantikan dengan garis bawah.
4. Tidak boleh memuat operator hitung dan karakter-karakter khusus (~ ! @ # $ % ^ & * ( ) - + = \ | [ ] { } : “ ; ‘ , >)
5. tidak boleh memuat kata tercadang.
6. panjang karakter yang dikenali adalah 32 karakter pertama.

Bagian Deklarasi
Bagian deklarasi berfungsi sebagai tempat untuk mendeklarasikan/ mengenalkan nama-nama yang akan digunakan dalam bagian pernyataan. Terdiri dari 5 macam deklarasi, yaitu:
1. Deklarasi Label
Pendeklarasian nama label untuk menandai suatu bagian pernyataan dalam program utama.
2. Deklarasi Konstanta
Pendeklarasian nama konstanta sebagai penampung data yang bersifat konstan/ tetap.
3. Deklarasi Tipe
Pendeklarasian nama tipe yang digunakan untuk membuat tipe data baru.
4. Deklarasi Variabel
Pendeklarasian nama variabel sebagai penampung data yang bersifat dinamis/ dapat diubah-ubah.
5. Deklarasi Subprogram
Pendeklarasian fungsi atau prosedur yang akan dipanggil pada program utama.
Dari 5 macam deklarasi, tidak perlu dideklarasikan semuanya dalam program. Hanya bagian yang dibutuhkan saja yang harus dideklarasikan.

Bagian Pernyataan
Bagian pernyataan merupakan program utama dalam pemrograman Pascal. Pada saat dilakukan ekseskusi program, komputer akan menjalankan bagian pernyataan ini. Program utama diawali dengan kata tercadang BEGIN dan diakhiri dengan kata tercadang END dan tanda titik.

Unit
Dalam bahasa pemrograman Pascal menyediakan suatu cara pemrograman modular dengan menggunakan Unit.. unit adalah suatu pustaka yang umumnya terdiri dari fungsi atau prosedur serta variabel yang dapat dikompilasi secara terpisah. Dalam program dituliskan dengan clausa USES diikuti dengan nama unit dan diakhiri tanda titik koma.
Contoh: USES CRT;

Komentar
Dalam Pascal komentar ditulis dalam tanda kurung kurawal { }. Kita dapat menulis keterangan atau apa saja di dalam komentar. Komentar tidak akan dieksekusi oleh program. Tujuan penggunaa komentar adalah untuk dokumentasi dan memudahkan orang lain untuk memahami program yang telah kita buat.

Contoh kerangka program Pascal
PROGRAM contoh;
{----------------------------------------------------------}
{ contoh program dengan deklarasi yang lengkap }
{ ----------------------------------------------------------}
USES Crt;
LABEL
Selesai;
CONST
Phi = 3.14;
TYPE
BilanganNyata = Real;
VAR
Jari_jari : BilanganNyata;
PROCEDURE HitungLuas(Radius:BilangaNyata);
Begin
Writeln(‘Luas = ‘,0.5*Phi*Radius*Radius);
End;
{ Program Utama }
BEGIN
Clrscr;
Jari_jari:=10.5;
HitungLuas(Jari_jari);
GOTO Selesai;
Writeln(‘Lho, kok saya dilewati’);
Selesai:
Writeln(‘Selesai…..’);
END.

Pernyataan dalam Pascal
1. Pernyataan Penugasan (assigment)
Pernyataan penugasan digunakan dalam proses pemberian harga/ nilai pada suatu variabel dalam sebuah ungkapan, penulisannya menggunakan simbol :=
Contoh: x := 51;
Luas := p * l;
2. Pernyataan Prosedur
Digunakan untuk mengaktifkan/ memanggil prosedur yang didefinisikan oleh pemrogram ataupun prosedur standart dari pascal sendiri. Penulisannya dengan cara menyebutkan nama prosedur dan diakhiri dengan tanda titik koma.
Contoh: Randomize;
HitungLuas;
Clrscr;
3. Pernyataan Input/ Output
a. Input
Digunakan dalam proses pembacaan data melalui peralatan masukan (keyboard, mouse, dsb) atau melalui pengisian data langsung pada suatu variabel di dalam program yang akan digunakan untuk proses selanjutnya.
Pernyataan input menggunakan perintah READ atau READLN.
b. Output
Digunakan sebagai informasi keluaran yang merupakan hasil dari proses program. Pernyataan output menggunakan perintah WRITE atau WRITELN.
4. Pernyataan Majemuk
Merupakan kumpulan dari beberapa pernyataan yang diawali dengan Begin dan diakhiri dengan End dan tanda titik koma.


Bentuk Umum:
Begin
Pernyataan 1;
Pernyataan 2;
.
.
Pernyataan n;
End;

Tipe data dan Operator
Sebuah program selalu berhubungan dengan data untuk diinputkan, diolah dan kemudian memberikan hasil yang diinginkan. Variabel dan konstanta merupakan penampung data di dalam program. Variabel bersifat dinamis sedangkan konstanta bersifat statis.
Setiap data yang disimpan di dalm variabel atau konstanta harus memiliki tipe data. Ada beberapa tipe data sederhana yang dapat digunakan dalam Pascal. Berikut adalah tipe data yang sering digunakan.
a. Tipe bilangan bulat dapat dikelompokan menjadi:
Tipe: Ukuran memory: kawasan (range):
- Byte 1 byte 0…255
- Word 2 byte 0…65535
- ShortInt 1 byte -128…127
- Integer 2 byte -32768…32767
- LongInt 4 byte -2147483638…2147483647
b. Tipe bilangan pecahan (real)
c. Tipe string yaitu data yang berisi nol atau beberapa karakter. Tipe
string diapit dengan tanda petik(‘….’).contoh:’nama’.
d. Tipe Char yaitu untuk data yang berisi hanya sebuah karakter saja. Misalnya:’A’,’1’,’?’.
e. Tipe Boolean adalah suatu data yang nilainya berupa false ( salah ) atau true ( benar ).
Disamping tipe –tipe tersebut masih terdapat beberapa tipe lainnya dan dapat juga tipe tersebut dibuat sendiri.

Data-data dalam program akan diproses dengan menggunakan operator. Operator adalah simbol atau kata yang digunakan dalam program untuk melakukan suatu operasi data seperti penjumlahan, pengurangan, pemberian nilai ke dalam variabel, membandingkan kesamaan dua buah nilai dan sebagainya.
Nilai data yang dioperasikan oleh operator bersama operand membentuk suatu ekspresi. Operator yang digunakan dalam Pascal:

Bahasa Pemrograman

Program adalah kumpulan instruksi/ perintah yang disusun sebagai satu kesatuan prosedur yang berupa urutan langkah-langkah untuk menyelesaikan suatu masalah sehingga dapat di eksekusi oleh komputer. Program memberitahukan kepada komputer apa yang harus dilakukan.
Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
Bahasa pemrograman adalah prosedur/ tatacara penulisan program komputer. Bahasa pemrograman berfungsi sebagai media untuk mneyusun dan memahami suatu program komputer serta sebagai alat komunikasi antara programmer dengan komputer.
Pemakaian bahasa pemrograman selalu berhubungan dengan:
a. Sintak,
urutan gramatikal yang mengatur tatacara penulisan kata, ekspresi dan pernyataan.
b. Semantik
Aturan-aturan untuk menyatakan suatu arti yang terkandung dalam sebuah statement/ pernyataan.
c. Kebenaran Logika
Apakah urutan langkah-langkah dan logika sudah benar dan sesuai dengan penyelesaian masalahnya.

Bahasa pemrograman digolongkan menjadi:
a. Bahasa Mesin
Bahasa yang dapat dimengerti oleh komputer berupa bahasa numerik. Setiap jenis komputer memiliki bahasa mesin yang berbeda.
b. Bahasa Tingkat Rendah /BTR (Low Level Language)
Bahasa pemrograman yang berorientasi pada mesin. Bahasa ini lebih dekat ke bahasa mesin daripada bahasa manusia. Contohnya bahasa assembly.
Kelebihan BTR:
- Kecepatan eksekusi sangat tinggi
- Executable file yang dihasilkan ukurannya paling kecil
Kekurangan BTR:
- Sulit dipelajari
- Bahasa assembly untuk setiap jenis mikroprosesor satu dengan yang lain sangat jauh berbeda karena belum ada standarisasi.
- Fungsi-fungsi yang tersedia sangat terbatas

c. Bahasa Tingkat Tinggi /BTT (High Level Language)
Bahasa pemrograman yang lebih dekat dengan bahasa manusia daripada bahasa mesin. BTT merupakan bahasa pemrograman yang memiliki aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standart yang mudah dipahami oleh manusia. Contoh: Basic, Fortran, Cobol, Pascal, Prolog, dll.
Kelebihan BTT:
- Mudah dipelajari
- Mempunyai fasilitas trace and debug untuk mendeteksi adanya kesalahan
- Mempunyai fungsi/ library yang lengkap sehingga dapat mempermudah dan mempercepat pembuatan program
d. Bahasa Tingkat Menengah (Middle Level Language)
Bahasa pemrograman yang mempunyai kelebihan hampir menyamai bahasa assembly karena kelengkapan fungsinya dalam mengakses perangkat keras. Contohnya bahasa C, C++.

Eksekusi program oleh komputer, dilakukan dengan cara menterjemahkan bahasa pemrograman BTT menjadi kode bahasa mesin. Yang bertugas menterjemahkan disebut Interpreter dan Compiler. Kedua penterjemah ini membaca perintah source code baris per baris kemudian menterjemahkannya menjadi kode mesin yang bersesuaian. Tetapi bedanya pada Interpreter kode mesin dijalankan seketika dan tidak disimpan, sedangkan pada Compiler kode mesin disimpan.

Eksekusi program oleh kompuetr digambarkan sebagai berikut:



Macam-macam teknik pemrograman :
1. Pemrograan Terstruktur, merupakan teknik yang terstruktur dan sistematis, merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program yang memiliki rancang bangun yang terstruktur dan tidak berbelit-belit sehingga mudah ditelusuri dan dipahami serta dikembangkan oleh siapa saja.
Ciri-ciri dari pemrograman terstruktur adalah :
a. Mengandung algoritma pemecahan masalah yang tepat dan benar, standart dan efektif.
b. Memiliki struktur logika dan struktur program yang benar dan mudah dipahami.
c. Memiliki dokumentasi yang baik.

2. Pemrograman Modular, pemrograman dengan pembagian masalah yang besar dan komplek menjadi kelompok masalah yang lebih kecil yang disebut modul. Teknik pemrograman terstruktur yang digunakan untuk menyelesaikan masalah tersebut dinamakan teknik pemrograman modular, tetapi setelah masing-masing modul disusun maka harus dibuat suatu sistem untuk mengintegrasikannya sehingga menjadi satu kesatuan program yang lengkap. Modul program adalah sekumpulan instruksi yang memiliki operasi-operasi dan data yang didefinisikan memiliki struktur internal yang tidak tergantung pada sub program lain dan merupakan satu kesatuan yang akan dieksekusi secara berulang-ulang. Untuk menyusun program modular dapat digunakan konsep fungsi atau prosedur.

3. Pemrograman Berorientasi Object, pemrograman berorientasi object diciptakan supaya konsep yang ada pada dunia nyata dapat diterapkan dalam pemrograman. Dalam pemrograman berorientasi object komponen-komponen dalam program disebut sebagai sebuah object yaitu sesuatu yang memiliki sifat (property), kerja (methode), dan respon terhadap kejadian (event), Object tersebut disusun dari sekumpulan data, prosedur dan fungsi yang dibungkus menjadi satu.
Langkah-langkah dalam proses pembuatan suatu program dijelaskan pada gambar dibawah ini:

Flowchart

Flowchart adalah gambaran dalam bentuk diagram/ bagan alir dari algoritma-algoritma dalam suatu program yang menyatakan arah alur program tersebut. Digunakan sebagai alat Bantu komunikasi, analisa proses dan untuk dokumentasi.
Flowchart merupakan bentuk visual dari pseudocode yang lebih mudah dan sederhana. Flowchart program merupakan bagan yang menggambarkan urutan logika dari proses program dalam pemecahan masalah.
Pedoman dalam menggambar flowchart:
1. Sebaiknya digambar dari atas ke bawah dan dimulai dari bagian kiri suatu halaman.
2. Ditunjukkan dengan jelas dimulai dan berakhirnya suatu kegiatan
3. Kegiatan harus ditunjukkan dengan jelas dan digunakan suatu kata yang mewakili suatu pekerjaan tersebut.
4. Kegiatannya sudah dalam urutan yang benar
5. Kegiatan yang terpotong dan akan disambung ditunjukkan dengan symbol penghubung.
6. Digunakan symbol-simbol standart flowchat

Simbol-simbol Flowchart:

Pseudocode

1. Definisi
Pseudocode merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma tanpa menggunakan tatacara penulisan bahasa pemrograman tertentu. Pseudocode tidak dapat dieksekusi langsung pada komputer, tetapi merupakan model yang harus diubah menjadi bahasa pemrograman yang sebenarnya.
Pseudocode ditulis dengan bahasa yang mudah dipahami (boleh menggunakan bahasa alami suatu daerah tertentu), agar alur logika yang digambarkan dapat lebih mudah dimengerti. Pseudocode disusun dengan tujuan untuk menggambarkan tahap-tahap penyelesaian masalah dengan kata-kata (teks). Tetapi metode ini memiliki kelemahan karena penyusunannya sangat dipengaruhi oleh tata bahasa pembuatnya sehingga kadang sulit dipahami oleh orang lain yang ingin mempelajarinya.
Pseudocode secara alamiah dapat terdiri dari berbagai bentuk, walaupun banyak meminjam tatacara penulisan dari bahasa pemrograman popular seperti C, Lisp dan Fortran.


2. Aturan Penulisan Teks Algoritma
Tidak ada notasi yang baku dalam penulisan teks algoritma. Algoritma bukanlah program yang harus mengikuti aturan-aturan tertentu tetapi dituliskan mendekati gaya bahasa pemrograman secara umum. Teks algortima disusun dalam 3 bagian, yaitu:
a. Bagian Kepala Algoritma
Kepala algoritma terdiri dari nama algoritma yang berisi penjelasan tentang algoritma yang menguraikan secara singkat hal-hal yang dilakukan oleh algoritma.
b. Bagian Deklarasi
Berisi semua nama yang digunakan, meliputi nama-nama tipe, konstanta, variable dan sub program.
c. Bagian Deskripsi Algortima
Berisi semua langkah-langkah atau aksi untuk menyelesaikan masalah. Algoritma dibaca dari atas ke bawah.
Setiap bagian disertai dengan penjelasan atau dokumentasi tentang maksud pembuatan teks. Bagian penjelasan dituliskan di dalam kurung kurawal {}.
Contoh: algoritma untuk menghitung luas lingkaran

Algoritma luas_lingkaran {kepala program}
{bagian deklarasi}
Const
Phi <- 3.14
Var
R, L : Real;
{bagian deskripsi}
Begin
{input data R}
Read(R)
{proses}
If R<= 0 then
write(“Data Salah”)
else
L <- phi * R * R
End if
{output}
Write (L)
End.

Pengantar Algoritma

Algoritma berasal dari kata Algoris dan Ritmis yang pertama kali diungkapkan oleh Abu Ja’far Mohammed Ibn Musa Al-Khowarismi pada tahun 825 M dalam bukunya yang berjudul Al-Jabr Wa-al Muqabla.
Dalam bidang pemrograman, algoritma didefinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelsesaikan masalah dengan bantuan komputer.
Algoritma merupakan pola pikir terstruktur yang berisi tahap-tahap penyelesian masalah yang dapat disajikan dengan teknik tulisan maupun dengan gambar. Penyajian algoritma dalam bentuk tulisan menggunakan Structure English atau Pseudo Code (Kode Semu). Sedangkan penyajian algoritma dalam bentuk gambar menggunakan flowchart (diagram alir).
Penilaian sebuah algoritma di dasarkan pada beberapa hal sebagai berikut:
a. Waktu Eksekusi
b. Penggunaan memori/ sumber daya
c. Kesederhanaan dan kejelasan algoritma
Waktu eksekusi sebuah algortima dipengaruhi oleh:
a. Jenis data input
b. Jumlah data input
c. Pemilihan instruksi bahasa pemrograman.

Saturday, November 27, 2010

Dasar-dasar Logika Informatika

1. Proposisi
Proposisi merupakan kalimat yang bias ditentukan nilai kebenarannya. Nilai kebenaran bias “benar” atau “salah”, tetapi tidak keduanya sekaligus.
Setiap proposisi adalah kalimat, tetapi setiap kalimat belum tentu sebuah proposisi.
Contoh Proposisi:
- 15 habis dibagi 3
- Malang adalah ibukota Indonesia
Contoh bukan Proposisi (kalimat terbuka):
- Belikan nasi bungkus di warung!
- Apakah hari ini hujan?
Jika P adalah suatu kalimat, demikian juga negasinya (Not P). Negasi dari P yang dinotasikan dengan -P adalah proposisi.
-P = bukan P
Nilai kebenaran dari proposisi -P didefinisikan dengan tabel kebenaran berikut:



Misalkan P dan Q adalah proposisi, maka:
- Disjungsi P dan Q, dinotasikan sebagai P v Q adalah Proposisi
- Konjungsi P dan Q, dinotasikan sebagai P ^ Q adalah Proposisi
Proposisi hasil kombinasi dari proposisi –proposisi tersebut disebut kalimat majemuk.

Contoh:
- P = 2 + 5 =3
- Q = Satu minggu sama dengan 7 hari
- P v Q = 2 + 5 =3 atau Satu minggu sama dengan 7 hari (nilai kebenaran = ”benar”)
- P ^ Q = 2 + 5 =3 dan Satu minggu sama dengan 7 hari (nilai kebenaran = ”salah”)
Nilai kebenaran dari proposisi P v Q dan P ^ Q didefinisikan dengan tabel kebenaran berikut:


2. Proposisi Bersyarat
Jika P dan Q adalah Proposisi, maka Proposisi jika P maka Q disebut Proposisi bersyarat (Implikasi) dan dinotasikan sebagai P -> Q.
Proposisi P disebut Hipotesis (Anteseden) dan proposisi Q disebut konklusi.
Nilai kebenaran dari proposisi P -> Q didefinisikan dengan tabel kebenaran berikut:



Jika P dan Q adalah Proposisi, maka proposisi majemuk P jika hanya jika Q disebut Proposisi Bikondisional (Bi-implikasi) dan dinotasikan sebagai P <-> Q.
Nilai kebenaran dari proposisi P <-> Q didefinisikan dengan tabel kebenaran berikut:



3. Kesamaan Logika
Misalkan bahwa proposisi majemuk P dan Q terdiri dari proposisi P1,P2, ….., Pn, kita katakana P dan Q Ekivalen (P  Q) yang menyatakan bahwa untuk nilai kebenaran sembarang yang diberikan dari P1,P2, ….., Pn, P dan Q keduanya bisa benar ataupun bisa salah.