P. 1
Flow Chart

Flow Chart

|Views: 65|Likes:
Dipublikasikan oleh Kikoyy Anriyani

More info:

Published by: Kikoyy Anriyani on Mar 27, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

11/14/2013

pdf

text

original

Bahan Kuliah Teori Algoritma

:

Flow Chart

Cover
Herianto CopyRight@2010 Teknik Informatika Universitas Darma Persada

Konsep Pemrograman
• Mem-program komputer, secara teknis bertujuan : Memasukkan/ menyusun sejumlah instruksi dan data ke memory, yang selanjutnya akan diambil satu persatu oleh CPU/Processor untuk dilaksanakan Perkembangan (cara) mem-program komputer : 1. 2. Pemrograman dengan mengatur/menyambung titik jumper di rangkaian komputer Pemrograman dengan langsung menulis kode biner ke memory, direpresentasikan melalui kode hexa, kode biner disebut juga
bahasa mesin komputer

3. 4.

Pemrograman dengan bahasa assembler : Perintah-perintahnya
berkaitan langsung dengan struktur internal hardware

Pemrograman dengan bahasa tingkat tinggi/menengah :
Perintah-perintahnya mirip dengan bahasa manusia/english

B High/Medium Level A = 05 + 12 0102 0103 Susunan instruksi dan data dalam memory . Hexa 3C 05 3D 12 2D Assembly Mov A. ……….05 Mov B. 00011100 00000101 00111101 00010010 00101101 ……….12 Add A.Ilustrasi Pemrograman Komputer Programmer Instruksi A Instruksi B Instruksi C Data A Data D Instruksi D Tool Sejumlah Instruksi dan data CPU 0001 0002 0100 0101 ………. ………. ………. ……….

Sejarah bahasa Pemrograman .

… . • Generasi IV : 4 GL (fourth-generation language): Prolog.Generasi dan Jenis Bahasa Pemrograman Generasi bahasa pemrograman: • Generasi I : machine language Jenis bahasa pemrograman berdasarkan bentuk (corak kode) nya : • Pemrograman prosedural : Pascal. Matlab. SQL. … • Pemrograman visual : VB. Visual tool. C/C++. … • Pemrograman fungsional : Lisp • Pemrograman deklaratif : Prolog • Pemrograman berorientasi objek : Java • Pemrograman prosedural sekaligus berorientasi objek : C++ Jenis bahasa pemrograman berdasarkan tujuan (hasil) : • Pemrograman stand-alone • Pemrograman client/server • Pemrograman web : HTML. Fortran. dsb Jenis bahasa pemrograman berdasarkan metodanya : • Pemrograman tidak terstruktur : Basica. C. … • Pemrograman terstruktur : Pascal. PASCAL. Java. dsb. … • Pemrograman berorientasi objek : C++. … • Generasi II : assembly language : Asssembler • Generasi III : high-level programming language: C. Pascal. Script • Pemrograman jaringan Jenis bahasa pemrograman berdasarkan cara penterjemahan : • Interpreter : Basica.… • Compiler : Turbo Basic. Delphi. Foxpro. C/C++.

PASCAL PASCAL. FORTRAN C C. Intrepreter Language PASCAL BASIC FORTRAN BASIC. Assembler. C ADA.Perbandingan Bahasa Pemrograman (Umum) Berdasarkan tujuan tertentu : Jenis Program Data terstruktur Proyek cepat Eksekusi cepat Kalkulasi matematika Menggunakan memori dinamis Lingkungan bermemori terbatas Program real-time Manipulasi string Program mudah dikelola Bahasa Terbaik ADA. C FORTRAN PASCAL. FORTRAN (Mc. C /C++. PASCAL BASIC Assembler. C BASIC. ADA Bahasa Terburuk Assembler. Assembler BASIC. Assembler.5 1:3 1 : 3. ADA. BASIC PASCAL.5 (Mc. Connell) Rasio Berdasarkan kriteria pemrograman terstruktur : Kriteria Bahasa Pemrograman Basic Pascal C Foxpro Tabel ini akan dilengkapi selama perkuliahan berlangsung . Connell) Berdasarkan jumlah instruksi dibandingkan dengan assembler Bahasa Assembler ADA Quick / Turbo / Basic C FORTRAN PASCAL 1: 1 1 : 4.5 1:5 1 : 2. C BASIC.

Proses Pembuatan Aplikasi .

Misal kedua input yang dibutuhkan disebut A dan N dan output disebut C. Maka secara matematis hubungan input dan output dapat dimodelkan dengan : C=A/N Contoh data : Jika A = 25 dan N = 5. Karena sering ia lakukan. maka secara manual dapat dihitung : C = 25 / 5 C=5 Urutan perhitungan tersebut (algoritma) jika dilakukan komputer adalah : -Memasukkan nilai ke A -Memasukkan nilai ke N -Menghitung C = A / N -Mencetak hasil C Proses pemecahan : Permasalahan di atas dapat disederhanakan dengan menggambarkan bagaimana dialog di layar komputer yang diharapkan terjadi terhadap aplikasi yang dibutuhkan tersebut : Contoh dialog yang diharapkan : Aplikasi pembagian buah apel Ketik jumlah buah apel yang dibeli : … {ENTER} Ketik jumlah anak yang akan diberi : … {ENTER} Solusi : Setiap anak mendapatkan : … buah apel . ia membutuhkan aplikasi untuk menghitung kebutuhan tersebut. Dari gambaran tersebut dapat ditentukan bahwa program membutuhkan 2 input dan 1 output.Contoh Proses Pembuatan Aplikasi (1) : Permasalahan 1 : Si Upik selalu membeli buah apel untuk dibagikan ke beberapa orang anak yatim Ia kesulitan untuk membagi secara adil berapa buah apel setiap anak mendapatkan jika ia beli N buah.

Dari dialog tersebut diketahui bahwa program membutuhkan 3 input dan 2 output. Misal kedua input yang dibutuhkan disebut A.Contoh Proses Pembuatan Aplikasi (2) : Permasalahan 2 : Si Buyung kelas 2 SMU. Penyelesaian (X1 dan X2) merupakan nilai real dan berbeda Jika D = 0. Si Buyung memang jago matematik. dengan menggunakan rumus abc yang telah baku. penyelesaian (X1 dan X2) merupakan nilai real dan sama (X1=X2) Jika D<0. dan diselidiki : Jika D>0. Oleh guru matematik-nya ia sering diminta menghitung soal-soal persamaan kuadrat yang jumlahnya lumayan banyak. proses mendapat X1 dan X2 dapat dihitung seperti berikut : X1 = (-b+D)/2A X2 = (-b-D)/2A Dimana D = b2 – 4AC Sebelum menghitung X1 dan X2 perlu diselidiki apakah nilai A=0 atau tidak. penyelesaian (X1 dan X2) merupakan nilai imajiner . tapi dia juga sedang mendalami pemrograman komputer. sebab pada persamaan kuadrat nilai A tidak boleh 0 Proses pemecahan : Permasalahan di atas juga dapat disederhanakan dengan menggambarkan bagaimana dialog di layar komputer yang diharapkan terhadap aplikasi tersebut : Contoh dialog yang diharapkan : Aplikasi menghitung persamaan kuadrat Masukkan nilai koefisien A : … {ENTER} Masukkan nilai koefisien B : … {ENTER} Masukkan nilai koefisien C : … {ENTER} Penyelesaian : Solusi merupakan 2 akar real yang berbeda Solusi 1 (X1) = … Solusi 2 (X2) = … Juga harus dihitung terlebih dahulu nilai D. Dia tahu kalau masalah di atas dapat diatasi dengan membuatkan aplikasinya. Maka secara matematis. B dan C dan output disebut X1 dan X2.

.Melompat ke AKHIR REAL_SAMA : .D = absolute(D) .X1 = (-b+D)/2A .Jika D>0 melompat ke REAL_BEDA .Mencetak hasilnya .Jika D=0 melompat ke REAL_SAMA .Memasukkan nilai ke B . Artinya tidak membutuhkan perintah untuk melompat dari satu bagian program ke bagian program lain.Selidiki apakah A=0.D/2A I . karena membutuhkan perintah untuk melompat ke bagian program tertentu.Lanjutan Proses pemecahan tersebut urutannya (algoritma) adalah : AWAL : . jika YA melompat ke AKHIR .X2 = (-b-D)/2A .Memasukkan nilai ke C . maka langkah selanjutnya adalah membuat kode programnya Kode program permasalahan 1 Kode program dari permasalahan 1 di atas bersifat sekuensial murni.Mencetak hasilnya AKHIR : .X1 = -b / 2A .X1 = -b/2A + D/2A i .Memasukkan nilai ke A .Menyelidiki nilai D.Menghitung nilai D = b2 – 4AC .Melompat ke AKHIR IMAJINER : . Untuk melompat ke bagian program tertentu dapat menggunakan perintah GOTO atau dapat juga dengan menggunakan metoda PEMROGRAMAN TERSTRUKTUR .X2 = -b/2A .JIKA D<0 melompat ke IMAJINER REAL_BEDA : .X2 = X1 .Mencetak hasilnya . jika YA melompat ke AWAL Pembuatan Kode Program : Setelah kita dapatkan algoritma dari permasalahan. Kode program seperti ini sangat mudah untuk membuatnya menggunakan bahasa pemrograman apa pun Kode Program permasalahan 2 Kode program dari permasalahan 2 tidak lagi bersifat sekuensial murni.Menanyakan apakah ingin menghitung lagi.

atau sub program Digunakan untuk menunjukkan awal dan akhir program Digunakan untuk memberikan nilai awal (inisial) pada suatu variabel atau counter Digunakan untuk hubungan arus proses yang terputus masih di halaman yang sama Digunakan untuk proses. pengolahan arithmatik. dan pemindahan data Digunakan untuk mewakili operasi perbandingan logika yang dibutuhkan pada Selection dan Looping Digunakan untuk menyatakan operasi memasukkan data/input dan menampilkan data/output Digunakan untuk hubungan arus proses yang terputus di halaman yang berbeda Digunakan untuk menghubungan antar simbol/elemen yang lain dan sekaligus menyatakan arah aliran .Simbol-simbol untuk menggambarkan Flow Chart Digunakan untuk proses yang detailnya dijelaskan terpisah. misalkan untuk menyatakan prosedur.

Contoh Flow Chart : Permasalahan 1 : Start Permasalahan 2 : Start Masukkan nilai koefisien A ke var A Masukkan nilai koefisien B ke var B Masukkan nilai koefisien C ke var C A=0 Masukkan data jumlah apel ke var A Masukkan data jumlah anak ke var N D = b2 – 4AC D>0 Hitung penyelesaian real Dengan akar berbeda C=A/N Tampilkan : Setiap anak mendapat C apel Hitung penyelesaian real Dengan akar sama D=0 end Hitung penyelesaian Bilangan imajiner Menanyakan apakah ingin menghitung lagi ? LG LG=Ya end .

Beberapa bentuk logika terstruktur dengan flow chart 1. Struktur urut sederhana (Simple sequence) 3. Struktur 2 pilihan dengan IF-THEN-ELSE 2. Struktur 1 pilihan dengan IF-THEN .

Lanjutan : 4a. Struktur banyak pilihan dengan IF-THEN-ELSEIF 4b. Struktur banyak pilihan dengan CASE .

Struktur perulangan FOR For 6.Lanjutan : 5. Struktur perulangan UNTIL . Struktur perulangan WHILE 7.

Statemen kontrol terstruktur : menyembunyikan goto IF-THEN Proses1 If {kondisi=false } then goto lompat Proses1a Lompat: Proses2 Proses1 If {kondisi } then Proses1a End if Proses2 Proses 1 true Kondisi false Proses 1a Proses 2 Analisa : Jika kondisi=true. urutan pelaksanaan : Proses1 Proses2 . urutan pelaksanaan : Proses1 Proses1a Proses2 Jika kondisi=false.

urutan pelaksanaan : Proses1 Proses1a Proses2 . urutan pelaksanaan : Proses1 Proses1b Proses2 Jika kondisi=false.Lanjutan menyembunykan goto IF-THEN-ELSE Proses 1 true Kondisi false Proses1 If {kondisi=true } then goto lompat1 else goto lompat2 Lompat1: Proses1b goto lompat3 Lompat2: Proses1a Lompat3: Proses2 Proses1 If {kondisi=true } then Proses1b else proses1a end if Proses2 Proses 1b Proses 1a Proses 2 Analisa : Jika kondisi=true.

Lanjutan menyembunykan goto IF-THEN-ELSE-IF Proses 1 true Kondisi1 false Proses 2a Kondisi2 Proses 2b Kondisi3 Proses 2c Proses 2d Proses 3 Proses1 If {kondisi1=true } then goto lompat1 If {kondisi2=true } then goto lompat2 If {kondisi3=true } then goto lompat3 Goto lompat4 Lompat1: Proses2a goto habis Lompat2: Proses2b goto habis Lompat3: Proses2c goto habis Lompat4: proses2d Habis: proses3 Proses1 If {kondisi1=true } then Proses2a else if {kondisi2=true } then Proses2b else if {kondisi3=true } then Proses2c else Proses2d end if Proses3 Proses1 Case of var Kondisi1: Proses2a Kondisi2: Proses2b Kondisi3: Proses2c else Proses2d end case Proses3 .

Lanjutan menyembunykan goto Looping : FOR For I=1 to 5 Proses 1 Proses 2 Next I Proses 3 FOR I=1 to 5 Proses1 Proses2 Proses3 I=1 Ulang : Proses1 Proses2 I=I+1 If I<=5 then goto Ulang Proses3 .

Lanjutan menyembunykan goto Looping : WHILE While {kondisi=true} Proses 1 Proses 2 Wend Proses 3 While {kondisi} Proses1 Proses2 Proses3 Ulang : If {kondisi=true} then Proses1 Proses2 goto Ulang Proses3 .

Lanjutan menyembunykan goto Looping : UNTIL do Proses 1 Proses 2 Loop Until {kondisi=true} Proses 3 Proses1 Proses1 Until {kondisi} Ulang : Proses1 Proses2 If {kondisi=true} then goto Ulang Proses3 Proses3 .

Contoh flow chart dengan kontrol lengkap : start C=2 C=C=1 C>12 end .

Melompat keluar dari daerah induknya end .Contoh flow chart dengan beberapa lompatan tidak terstruktur : start Lompatan tidak terstruktur : a. Melompat ke bagian yang belum tentu dilewati b.

Konversi flow chart ini ke bahasa pemrograman C M=M+1 T Next I C=M+1 M=C+1 M=C+5 C=C+M Cetak C Cetak M P=C+M end M=P+2 .start C=2. M=3 C=C*M C=C+1 F F T C>12 C=C-M F C>M T For I=M to C F I>M (I*C)>M F C<=M T 1. Analisa hasil akhir dari variabel C dan M 2.

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->