Senin, 31 Mei 2010

FLOWCHAT

BAB I
BAHASA PEMROGRAMAN

I. PENDAHULUAN
Hal terpenting dalam menjalankan komputer adalah program. Dalam pemrograman dikenal beberapa bahasa pemrograman, seperti juga manusia mengenal bahasa-bahasa yang digunakan untuk berkomunikasi. Manusia dalam berkomunakasi menggunakan kata atau karakter sedangkan komputer dengan kode 0 dan 1.
Untuk mempermudah manusia berkomunikasi dengan komputer, maka diciptakan bahasa pemrograman. Dengan adanya bahasa pemrograman ini, bila manusia ingin berkomunikasi dengan komputer tidak harus menerjemahkan ke dalam 0 dan 1. Bila hal itu dilakukan betapa rumitnya suatu program.

II. ISTILAH-ISTILAH DASAR
a. Program
Program adalah kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur yang menjadi urutan langkah untuk menyesuaikan masalah yang diimplementasikan dengan bahasa pemrograman.
b. Bahasa Pemrograman
Bahasa pemrograman merupakan prosedur atau tata cara penulisan program dalam bahasa pemrograman, terdapat dua faktor penting yaitu sintaksis dan semantik. Sintak adalah aturan-aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan sedangkan semantik adalah aturan-aturan untuk menyatakan suatu arti.
Contoh : Write, Read
c. Pemrograman
Pemrograman merupakan proses mengimplementasikan urutan langkah-langkah untuk menyelesaikan suatu masalah dengan bahasa pemrograman.
d. Pemrograman Terstruktur
Pemrograman Terstruktur merupakan proses mengimplementasikan urutan langkah-langkah untuk menyelesaikan suatu masalah dalam bentuk program yang memiliki rancang bangun yang terstruktur dan tidak berbelit-belit sehingga mudah ditelusuri, dipahami dan dikembangkan oleh siapa saja.

III. BAHASA PEMROGRAMAN
Bahasa permrograman dibagi menjadi empat kelompok :
a. Bahasa Aras Rendah (Low Level Language)
Merupakan bahasa yang berorientasi pada mesin. Pemrogram dengan bahasa ini harus berpikir berdasarkan logika mesin berpikir, sehingga bahasa ini kurang fleksibel dan sulit dipahami.
Contoh : Bahasa mesin, Bahasa rakitan (assembly)
b. Bahasa Aras Menengah (Middle Level Language)
Merupakan bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar yang mudah dipahami manusia serta memiliki instruksi-instruksi tertentu yang langsung bisa diakses oleh komputer.
Contoh : Bahasa C
c. Bahasa Aras Tinggi (Hight Level Language)
Merupakan bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar bahasa yang langsung dapat dipahami oleh manusia.
Contoh : Bahasa Pascal, Basic, COBOL
d. Bahasa Berorientasi Objek (Object Oriented Programming)
Dengan bahasa berorientasi objek kita tidak perlu menuliskan secara detail semua pernyataan dan ekspresi seperti bahasa aras tinggi, melainkan cukup dengan memasukkan kriteria-kriteria yang dikehendaki saja.
Contoh : Delphi, Visual Basic, C++
Agar komputer memahami program yang disusun dengan bahasa pemrograman, maka dibutuhkan suatu penerjemah yaitu Interpreter dan Compiller.
a. Interpreter
Interpreter berasal dari kata to interpret yang berarti menerjemahkan atau mengartikan. Interpreter merupakan penerjemah bahasa pemrograman yang menerjemahkan instruksi demi instruksi pada saat eksekusi program. Pada saat penerjemahan interpreter akan memeriksa sintaksis (sintak program), semantik (arti perintah), dan kebenaran logika. Jika ditemukan kesalahan sintaksis (syntak error) maka interpreter akan menampilkan pesan kesalahan dan eksekusi program langsung terhenti.
b. Compiler
Berasal dari kata to compile yang berarti menyusun, mengumpulkan atau menghimpun. Compiler merupakan penerjemah bahasa pemrograman yang menerjemahkan instruksi- instruksi dalam satu kesatuan modul ke dalam bahasa mesin (objek program), kemudian objek program akan mengalami linking yang berfungsi untuk menggabungkan modul-modul tersebut dengan modul-modul lain yang berkaitan seperti data tentang karakteristik mesin, file-file pustaka atau objek program lainnya yang berkaitan dengan objek lainnya menghasilkan file Executable program yang akan dieksekusi oleh komputer.


























Perbedaan Interpreter dan Compiler
Interpreter Compiler
1. Menerjemahkan instruksi per instruksi
2. Bila terjadi kesalahan kompilasi, dapat langsung dibetulkan secara interaktif.
3. Tidak menghasilkan objek program.
4. Tidak menghasilkan executable program karena langsung dijalankan pada saat program diinterpresentasi.
5. Program interpretasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakaan dan output langsung dilihat hasilnya.
6. Source program terus dipergunakan karena tidak menghasilkan executable program.
7. Proses pengerjaan progtam lebih lambat karena harus diinterpresentasikan ulang kembali.
8. Keamaanan dari program kurang terjamin, karena yang selalu digunakan adalah source program 1. Menerjemahkan secara keseluruhan sekaligus.
2. Bila terjadi kesalahan kompilasi, source program harus dibenarkan dan proses kompilasi diulang kembali.
3. Menghasilkan objek program.
4. Menghasilkan executable program, sehingga dapat dijalankan di keadaan prompt sistem.
5. Proses kompilasi lama karena sekaligus menterjemahkan seluruh instruksi program.
6. Source program sudah tidak dipergunakan lagi untuk mengerjakaan program.
7. Proses mengerjakan program lebih cepat, karena executable program sudah dalam bahasa mesin.
8. Keamanan dari program lebih terjamin, karena yang dipergunakan executable program.




BAB 2
ALGORITMA DAN PEMROGRAMAN TERSTRUKTUR

A. Konsep Algoritma
Algoritma berasal dari kata algoris dan ritmis yang pertama kali diungkapkan oleh Abu Ja'far Mohammad Ibn Musa Al Khowarizmi (825M) dalam buku Al-Jabr Wa-al Muqobla. Dalam pemrograman algortima berarti suatu metode khusus yang tepat dan terdiri dari serangkaian langkah-langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan masalah dengan bantuan komputer.
Secara sederhanya algoritma dapat didefinisikan urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.
Contoh :
Misalkan terdapat dua buah gelas, gelas A dan gelas B. Gelas A berisi air berwarna merah dan gelas B berisi air berwarna biru, kita ingin menukartan isi air kedua gelas tersebut, sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.
Algoritma Tukar_Isi_Gelas
1. Tuangkan air dari gelas A ke gelas B
2. Tuangkan air dari gelas B ke gelas A

Algoritma diatas tidak menghasilkan pertukaran yang benar, langkah-langkahnya tidak logis, karena yang terjadi bukan pertukaran tetapi percampuran antara air di gelas A dengan air di gelas B. Sehingga algoritma Tukar_Isi_Gelas diatas salah. Dari permasalahan diatas algoritma yang benar adalah bahwa untuk menukarkan isi air pada gelas A dengan isi air pada gelas B maka dibutuhkan sebuah gelas bantuan yang dipakai untuk menampung salah satu air dalam gelas tersebut misalkan gelas C.
Sehingga algoritma yang benar dari permasalah diatas adalah :
Algoritma Tukar_Isi_Gelas
1. Tuangkan air dari gelas A ke gelas C
2. Tuangkan air dari gelas B ke gelas A
3. Tuangkan air dari gelas C ke gelas B
Keadaan awal sebelum pertukaran

Proses pertukaran :
1. Tuangkan air dari gelas A ke gelas C

2. Tuangkan air dari gelas B ke gelas A

3. Tuangkan air dari gelas C ke gelas B

4. Keadaan setelah pertukaran

Sekarang algoritma Tukar_Isi_Gelas diatas sudah diperbaiki, sehingga isi air pada gelas A dan isi air pada gelas B dapat dipertukarkan dengan benar. Hubungan antara algoritma, masalah dan solusi dapat digambarkan sebagai berikut :

Tahap pemecahan (1) masalah adalah Proses dari masalah hingga terbentuk suatu algoritma. Tahap implementasi (2) adalah proses penerapan algoritma hingga menghasilkan solusi. Solusi (3) yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun.
Ciri algoritma yang baik adalah :
a. Algoritma memiliki logika perhitungan atau metode yang tepat dalam menyelesaikan masalah.
b. Menghasilkan output yang tepat dan benar dalam waktu yang singkat.
c. Algortima ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda (ambiguous).
d. Algortima ditulis dengan format yang mudah dipahami dan mudah diimplementasikan ke dalam bahasa pemrograman.
e. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
f. Semua proses dalam algoritma harus berakhir setelah sejumlah langkah dilakukan.
B. Konsep Pemrograman Terstruktur
Pemrograman terstruktur merupakan suatu tindakan untuk mengorganisasikan dan membuat kode-kode program supaya mudah dimengerti, mudah dites, dan mudah dimodifikasi.
Ciri-ciri teknik pemrograman terstruktur :
a. Mengandung teknik pemecahan masalah yang tepat dan benar.
b. Memiliki algoritma pemecahan masalah yang bersifat sederhana, standar dan efektif dalam menyelesaikan masalah.
c. Teknik penulisan program memiliki struktur logika yang benar dan mudah dipahami.
d. Program semata-mata terdiri dari tiga struktur yaitu sequence structure, looping structure dan selection structure.
e. Menghindarkan penggunaan instruksi GOTO (peralihan proses tanpa syarat tertentu) yang menjadikan program tidak terstruktur lagi.
f. Membutuhkan biaya testing yang rendah.
g. Memiliki dokumentasi yang baik.
h. Membutuhkan biaya perawatan dan pengembangan yang rendah.

BAB 3
PENYAJIAN ALGORITMA

Algoritma dapat disajikan dengan dua teknik yaitu teknik tulisan dan teknik gambar. Teknik tulisan biasanya menggunakan metode structure english dan pseudocode, sedangkan teknik gambar biasanya menggunakan diagram alir (flow chart).
A. Structure English dan Pseudocode
Structure English merupakan alat yang cukup efisien untuk menggambarkan suatu algoritma. Basis dari structure english adalah bahasa inggris, tetapi juga bisa digunakan bahasa indonesia, sedangkan pseudocode berarti kode yang mirip dengan kode pemrograman sebenarnya. Pseudocode berasal dari kata pseudo yang berarti imitasi/mirip/menyerupai dan code yang berarti program. Pseudocode berbasis pada kode program yang sesungguhnya seperti Pascal, C, C++. Pseudocode lebih rinci dari structure english misalnya dalam menyatakan tipe data yang digunakan.
Contoh struktur Indonesia
Baca data jam_kerja
Hitung gaji adalah jam_kerja dikalikan tarif
Tampilkan gaji
Pseudocode dengan Pascal :
Read jam_kerja
gaji := jam_kerja * tarif
Write gaji

Aturan Penulisan Teks Algoritma
Langkah-langkah penyelesaian masalah dalam teks algoritma dapat ditulis dalam notasi apapun, dengan syarat bahwa langkah-langkah tersebut mudah dipahami dan dimengerti. Tidak ada notasi yang baku dalam teks algoritma sebagaimana notasi dalam bahasa pemrograman (notasi dalam algoritma disebut dengan notasi algoritmik). Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Berkaitan hal itu untuk memudahkan translasi notasi algoritmik ke dalam bahasa pemrograman, sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. Sebagai contoh :
Tulis nilai X dan Y
Dalam notasi algoritmik menjadi :
Write(X,Y)
Notasi write ini berarti nilai X dan Y dicetak ke piranti keluaran. Notasi write ini berkorespondensi dengan write atau writeln dalam bahasa pascal, printf dalam bahasa C, cout dalam bahasa C++. Jadi, translasi write(X,Y) dalam masing-masing bahasa tersebut adalah :
writeln(X,Y); { dalam bahasa pascal }
printf("%d %d", X,Y); /* dalam bahasa C */
cout<Perhatikan bahwa setiap bahasa pemrograman mempunyai aturan sendiri dalam menggunakan perintah penulisan.
Contoh lain :
Isikan nilai X ke dalam max

Ditulis dalam notasi algoritmik menjadi :
max Å X
Notasi "Å" berarti mengisi (assign) peubah (variable) max dengan nilai peubah X. Translasi notasi "Å" kedalam bahasa Pascal adalah ":=", dalam bahasa C adalah "=", dalam bahasa C++ adalah "=". Translasi maxÅX dalam masing-masing bahasa adalah :
max := X; { dalam bahasa Pascal }
max = X; /* dalam bahasa C */
max = X; /* dalam bahasa C++ */

B. Flowchart
Dalam structure English / struktur Indonesia digambarkan tahap-tahap penyelesaian masalah dengan menggunakan kata-kata (teks). Kelemahan cara ini adalah dalam penyusunan algoritma sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang- kadang orang lain sulit memahaminya. Oleh sebab itu kemudian dikembangkan metode yang menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbol- simbol tertentu yang mudah dimengerti, mudah digunakan dan standar. Salah satu penulisan simbol tersebut adalah dengan menggunakan flowchart.
Bagan alir program adalah suatu bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir. Bagan alir program merupakan alat yang berguna bagi programmer untuk mempersiapkan program yang rumit. Bagan alir terdiri dari simbol-simbol yang mewakili fungsi- fungsi langkah program dan garis alir (flow lines) menunjukan urutan dari simbol yang akan dikerjakan.

Simbol Terminal, simbol yang digunakan untuk menyatakan awal atau akhir suatu program.

Simbol Input/Output, simbol yang digunakan untuk menunjukkan operasi masukan atau keluaran

Simbol Proses, simbol yang digunakan untuk menggambarkan proses pengolahan data

Simbol Keputusan, simbol yang digunakan untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu

Simbol persiapan (Preparation), simbol yang digunakan untuk memberikan nilai awal pada suatu variabel atau pencacah

Simbol proses terdefinisi (predefined process symbol), simbol yang digunakan untuk proses yang detilnya dijelaskan terpisah, misal dalam bentuk subroutine

Simbol Penghubung ke halaman lain, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang berbeda

Simbol Penghubung ke halaman yang sama, simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang sama

Simbol Arah aliran, simbol yang digunakan untuk menunjukkan arah aliran proses

Annotation simbol, simbol yang digunakan untuk memberikan keterangan-keterangan untuk memperjelas simbol-simbol lain






Contoh penggunaan flowchart program :





Pedoman membuat flowchart :
1. Flowchart dibuat dari atas ke bawah dimulai dari bagian kiri suatu halaman.
2. Kegiatan dalam flowchart harus ditunjukkan dengan jelas.
3. Kegiatan dalam flowchart harus jelas dimana akan dimulai dan dimana akan berakhir.
4. Kegiatan yang ada dalam flowchart digunakan kata yang mewakili pekerjaan.
5. Kegiatan dalam flowchart harus sesuai dengan urutannya.
6. Kegiatan yang terpotong dihubungkan dengan simbol penguhubung.
7. Simbol-simbol yang digunakan flowchart adalah simbol-simbol standar.


BAB 4
STRUKTUR DASAR ALGORITMA

Tidak ada komentar:

Poskan Komentar