Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Sistematika Materi Konsep pemrograman secara umum : Perkembangan pemrograman komputer Sejarah bahasa pemrograman Jenis bahasa pemrograman Perbandingan.

Presentasi serupa


Presentasi berjudul: "Sistematika Materi Konsep pemrograman secara umum : Perkembangan pemrograman komputer Sejarah bahasa pemrograman Jenis bahasa pemrograman Perbandingan."— Transcript presentasi:

1 Sistematika Materi Konsep pemrograman secara umum : Perkembangan pemrograman komputer Sejarah bahasa pemrograman Jenis bahasa pemrograman Perbandingan bahasa pemrograman Ide Pemrograman terstruktur : Defenisi, Tujuan, Kriteria Metoda dasar pemrograman terstruktur GOTOLess : Sekuensial, Selection, Looping Perbandingan bahasa pemrograman (Berdasarkan kriteria pemrograman terstruktur) Metoda desain pemrograman terstruktur Modular, Top Down,…

2 Perkembangan (cara) mem-program komputer : 1.Pemrograman dengan mengatur/menyambung titik jumper di rangkaian komputer 2.Pemrograman dengan langsung menulis kode biner ke memory, direpresentasikan melalui kode hexa, kode biner disebut juga bahasa mesin komputer 3.Pemrograman dengan bahasa assembler : Perintah-perintahnya berkaitan langsung dengan struktur internal hardware 4.Pemrograman dengan bahasa tingkat tinggi/menengah : Perintah-perintahnya mirip dengan bahasa manusia/english Konsep Pemrograman Mem-program komputer, secara teknis bertujuan :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

3 CPU Programmer Instruksi A Instruksi D Data D Instruksi B Data A Instruksi C Sejumlah Instruksi dan data ……… ……… Susunan instruksi dan data dalam memory Mov A,05 Mov B,12 Add A,B Assembly A = High/Medium Level 3C 05 3D 12 2D Hexa Tool Ilustrasi Pemrograman Komputer

4 Sejarah bahasa Pemrograman

5 Generasi dan Jenis Bahasa Pemrograman Generasi bahasa pemrograman: Generasi I : machine language Generasi II : assembly language : Asssembler Generasi III : high-level programming language: C, PASCAL, dsb. Generasi IV : 4 GL (fourth-generation language): Prolog, SQL, Visual tool, dsb Jenis bahasa pemrograman berdasarkan metodanya : Pemrograman tidak terstruktur : Basica, Fortran, … Pemrograman terstruktur : Pascal, C/C++, … Pemrograman berorientasi objek : C++, Java, … Pemrograman visual : VB, Delphi, … Jenis bahasa pemrograman berdasarkan bentuk (corak kode) nya : Pemrograman prosedural : Pascal, 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, Script Pemrograman jaringan Jenis bahasa pemrograman berdasarkan cara penterjemahan : Interpreter : Basica, Foxpro, Matlab,… Compiler : Turbo Basic, Pascal, C/C++, …

6 Jenis ProgramBahasa TerbaikBahasa Terburuk Data terstrukturADA, C /C++, PASCALAssembler, BASIC Proyek cepatBASICPASCAL, ADA, Assembler Eksekusi cepatAssembler, CBASIC, Intrepreter Language Kalkulasi matematikaFORTRAN PASCAL Menggunakan memori dinamisPASCAL, CBASIC Lingkungan bermemori terbatasBASIC, Assembler, CFORTRAN Program real-timeADA, Assembler, CBASIC, FORTRAN Manipulasi stringBASIC, PASCALC Program mudah dikelolaPASCAL, ADAC, FORTRAN (Mc. Connell) BahasaRasio Assembler1: 1 ADA1 : 4.5 Quick / Turbo / Basic1 : 5 C1 : 2.5 FORTRAN 1 : 3 PASCAL1 : 3.5 Berdasarkan tujuan tertentu : Berdasarkan jumlah instruksi dibandingkan dengan assembler (Mc. Connell) Perbandingan Bahasa Pemrograman (Umum) Kriteria Bahasa Pemrograman BasicPascalCFoxpro Berdasarkan kriteria pemrograman terstruktur : Tabel ini akan dilengkapi selama perkuliahan berlangsung

7 Proses Pembuatan Aplikasi

8 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. Karena sering ia lakukan, ia membutuhkan aplikasi untuk menghitung kebutuhan tersebut. 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 Dari gambaran tersebut dapat ditentukan bahwa program membutuhkan 2 input dan 1 output. 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, 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

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

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

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

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

13 Ide Pemrograman terstruktur Pemrograman yaitu aktivitas membuat program, yaitu menyusun sejumlah perintah yang dikenal komputer Terstruktur dapat berarti terpola, bentuk yang mengikuti aturan tertentu, juga berarti sesuatu yang sistematis Pemrograman Terstruktur berarti : ……………………………………………………… ……………………………………………………… Orang pertama yang mencetuskan ide pemrograman terstruktur adalah Profesor Edsger W. Dijkstra dari University of Eindhoven, Nederland. Ide utamanya adalah bahwa statemen GOTO sebaiknya tidak digunakan di dalam pemrograman terstruktur, sebab bisa membuat program menjadi ruwet. Ide ini ditanggapi oleh HD Milis, yang beranggapan bahwa pemrograman terstruktur semestinya tidak hanya dihubungkan dengan tanpa penggunaan GOTO, tetapi yang lebih utama adalah struktur program itulah yang menentukan apakah suatu pemrograman terstruktur atau tidak. Kriteria pemrograman terstruktur : -Struktur programnya; jelas dan tegas -Fasilitas penulisan kode program; jelas dan tegas -Statemen untuk kebutuhan Selection dan Looping; lengkap -Fasilitas menyatakan berbagai type data (struktur data); lengkap dan tegas -Fasilitas pemberian komentar; lengkap -Fasilitas instruksi yang tersedia (operasi arithmatik/matematik, string, …); lengkap -Fasilitas modular (baik internal maupun eksternal); lengkap -Fasilitas debugging, mudah dan jelas Ide pemrograman terstruktur muncul karena jumlah baris program semakin lama semakin besar, tentu saja hal ini terjadi karena diinginkan aplikasi yang lengkap dan lebih berkualitas Dengan ide pemrograman terstruktur diharapkan dapat membantu manajemen source code (kode program) sehingga program mudah untuk dikelola bagi kepentingan selanjutnya Tujuan utama pemrograman terstruktur adalah : agar program-program besar menjadi lebih mudah ditelusuri alur logikanya, mudah untuk dimodifikasi (dikembangkan) dan mudah pula untuk ditemukan bagian yang salah ketika program sedang diuji.

14 Filosofis Terstruktur a bc d -Mana yang susunannya terstruktur (teratur, …) -Mana yang lebih mudah anda hafalkan -Jika akan ditambah satu batang lagi, dimana harus diletakkan agar posisinya dapat dinilai benar -Jika susunannya dirombak, mana yang lebih mudah untuk disusun kembali

15 Metoda dasar pemrograman terstruktur Ide awal penerapan pemrograman terstruktur yaitu dengan menghindari penggunaan GOTO untuk melompat ke bagian program tertentu Kegunaan GOTO untuk melompat ke baris program tertentu, secara umum dapat dibagi ke dalam 2 kelompok : 1.Melompat ke bagian bawah program dari posisi program saat ini. 2.Melompat ke bagian atas program dari posisi program saat ini. Dengan pemrograman terstruktur; Jika ada kebutuhan melompat ke bagian bawah, dapat digantikan dengan perintah Selection (If, Case, Select, Switch,…) Jika ada kebutuhan melompat ke bagian atas, dapat digantikan dengan perintah Looping (for, While, repeat-until,…) Prinsip utamanya adalah, program tidak boleh melompat ke atas, kecuali untuk keperluan pengulangan (Looping). Untuk itu dalam pemrograman terstruktur hanya dikenal 3 struktur : 1.Sekuensial, yaitu program yang tidak memiliki lompatan. Baris program dijalankan secara normal (lurus) satu per- satu dari atas ke bawah. 2.Selection, yaitu program yang memiliki pilihan apakah harus menjalankan baris program sesuai dengan urutannya atau melompati sejumlah baris program tersebut. 3.Looping, yaitu program yang juga mengandung pilihan apakah akan mengulangi program yang sudah pernah dijalankan sebelumnya atau tidak.

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

17 4a. Struktur banyak pilihan dengan IF – THEN - ELSE IF 4b. Struktur banyak pilihan dengan CASE Lanjutan :

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

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

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

21 Kondisi1 Proses 2a IF-THEN-ELSE-IF true false Proses 1 Proses 2d Proses1 If {kondisi1=true } then Proses2a else if {kondisi2=true } then Proses2b else if {kondisi3=true } then Proses2c else Proses2d end if Proses3 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 Kondisi2 Kondisi3 Proses 2b Proses 2c Proses 3 Proses1 Case of var Kondisi1: Proses2a Kondisi2: Proses2b Kondisi3: Proses2c else Proses2d end case Proses3 Lanjutan menyembunyikan goto

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

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

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

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

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

27 Bentuk umum : IF ‘ungkapan’ THEN ‘statement’ Ungkapan adalah kondisi yang akan diseleksi oleh statement IF, bila kondisi yang diselekesi terpenuhi, maka statement yang mengikuti THEN akan diproses, sebaliknya jika kondisi tidak terpenuhi, maka yang akan diproses adalah statement berikutnya. Contoh : var nilai ujian: real; ket : string [11]; begin ket:=‘tidak lulus’; write(‘nilai ujian yang didapat..?’); readln(nilaiujian); if nilaiujian > 60 then ket:=‘lulus’; writeln(ket); end. Contoh Struktur IF - THEN

28 Bentuk umum : IF ‘kondisi’ THEN statement1 ELSE statement2 Statement1 atau dapat berupa blok statement akan diproses bila kondisi yang diseleksi benar (terpenuhi), sedang statement2 atau dapat berupa blok statement akan diproses bilamana kondisi yang diseleksi tidak terpenuhi. Contoh : var nilai ujian: real; begin write(‘nilai ujian yang didapat..?’); readln(nilaiujian); if nilaiujian > 60 then writeln(‘lulus’); else writeln(‘tidak lulus’); end. Contoh Struktur IF – THEN - ELSE

29 Bentuk umum : IF ‘kondisi’ THEN IF ‘kondisi2 THEN statement1 ELSE statement2 ELSE statement3 Merupakan bentuk dari suatu statement IF berada didalam lingukngan statement IF yang lainnya, misalnya didalam IF-THEN-ELSE terdapat IF- THEN-ELSE yang lain. Untuk contoh : Turbo Pascal jilid 1, Hal 163. Struktur IF tersarang

30 Bentuk umum : IF ‘kondisi1’ THEN aksi1 ELSE IF ‘kondisi2’ THEN aksi2 ELSE IF ‘kondisi3’ THEN aksi3 ELSE IF ‘kondisi n’ THEN aksi n Contoh Struktur IF – THEN – ELSE – IF

31 Contoh : Var A : integer; Begin read (A); If A=1 then; write (‘satu’); else if A=2 then; write (‘dua’); else if A=3 then; write (‘tiga’); endif; endif. Contoh Struktur IF – THEN – ELSE – IF

32 Untuk menyederhanakan struktur IF-THEN-ELSE-IF Bentuk umum : case (nama) (kondisi1) : aksi1. (kondisi n) : aksi n Contoh Struktur Case Contoh : Var A : integer; Begin read (A); If A=1 then; write (‘satu’); else if A=2 then; write (‘dua’); else if A=3 then; write (‘tiga’); endif; endif. Contoh case : Var A : integer; Begin read (A); case (A); A=1 : write (‘satu’); A=2 : write (‘dua’); A=3 : write (‘tiga’); End case.

33 Bentuk umum : WHILE ‘kondisi’ DO ‘statement’ 1. Kondisi dicoba terlebih dahulu. 2. Jika nilai kondisi adalah true, aka statement dilaksanakan dan pengedalian program dikembalikan ke statement WHILE, karena kondisi tersebut dicoba lagi, jika tidak (jika nilai kondisi adalah false) maka akan dilanjutkan dengan sesudah statement. Contoh : var I : integer; begin I:=0; while I < 5 do; begin writeln(I); I = I + 1 end; end. Contoh Struktur WHILE – DO

34 Bentuk umum : REPEAT aksi UNTIL kondisi 1. Notasi ini mendasarkan pengulangan pada kondisi berhenti. Aksi didalam badan kalang diulang sampai kondisi berhenti boolean bernilai true. Artinya jika kondisi berhenti masih salah, maka didalam badan kalang harus ada aksi yang merubah harga kondisi. 2. Makna struktur REPEAT-UNTIL sama dengan stuktur WHILE-DO, perbedaan mendasarnya adalah : a. pada repeat-until, aksi (sekumpulan aksi) dilaksanakan minimal satu kali, karena kondisi pengulangan diperiksa pada ‘akhir’ struktur. b. pada while-do, diperiksa pada ‘awal’ struktur, sehingga memungkinkan pegulangan tidak akan pernah dilaksanakan bila kondisi pengulangan bernilai false (pada repeat-until). Contoh Struktur REPEAT – UNTIL

35 Contoh : Var k : integer; Begin k:=1 repeat write (‘halo’); k=k + 1; until k > 10; End. Contoh Struktur REPEAT – UNTIL

36 a. FOR menaik (Ascending), bentuk umum : FOR peubah ‘nilai awal’ to ‘nilai akhir’ DO aksi END FOR Keterangan : - Peubah harus bertipe sederhana kecuali tipe Real. - Nilai_Awal harus ‘lebih kecil’ atau ‘sama dengan’ Nilai_Akhir. Jika Nilai_Awal > Nilai_Akhir, maka badan pengulangan tidak dimasuki. - Pada awalnya, peubah diinialisasi dengan Nilai_Awal, nilai peubah secara otomatis ‘bertambah satu’ setiap kali aksi pengulangan dimasuki sampai akhirnya nilai peubah ‘sama dengan’ Nilai_Akhir. - Jumlah pengulangan yang terjadi adalah : Nilai_Akhir – Nilai_Awal + 1 Contoh Struktur FOR

37 Contoh : var k : integer; begin for k:= 1 to 10 do; write(‘hallo’); End for. var angka : integer; begin for angka:= 1 to 100 do; write(angka); End for. Contoh Struktur FOR

38 a. FOR menurun (Descending), bentuk umum : FOR peubah ‘nilai akhir’ down to ‘nilai awal’ DO aksi END FOR Keterangan : - Peubah harus bertipe sederhana kecuali tipe Real. - Nilai_Awal harus ‘lebih besar’ atau ‘sama dengan’ Nilai_Akhir. Jika Nilai_Awal < Nilai_Akhir, maka badan pengulangan tidak dimasuki. - Pada awalnya, peubah diinialisasi dengan Nilai_Akhir, nilai peubah secara otomatis ‘berkurang satu’ setiap kali aksi pengulangan dimasuki sampai akhirnya nilai peubah ‘sama dengan’ Nilai_Awal. - Jumlah pengulangan yang terjadi adalah : Nilai_Awal – Nilai_Akhir + 1 Contoh Struktur FOR

39 Contoh : var k : integer; begin for k:= 100 down to 0 do; write(k); End for; write(‘Goo..!’) End. Contoh Struktur FOR

40 Interpreter dan Compiler Komputer hanya mengenal bahasa mesin. Bahasa Mesin berbasis bilangan Biner, yaitu 0 dan 1. Yang menjadi masalah adalah, kita menulis dalam bahasa pemrograman yang bukan Bahasa Mesin sehingga kode program yang kita tulis mesti diterjemahkan kedalam Bahasa Mesin. Program yang menterjemahkan kode program kedalam Bahasa Mesin disebut Penterjemah, yaitu : Compiler dan Interpreter. adalah program yang menterjemahkan seluruh kode program sekaligus kedalam bahasa mesin, contoh : Pemrograman Pascal, Bahasa C, Pemrograman Cobol, Assembly, Delphi, Visual Basic, dll. Compiler adalah program yang menterjemahkan seluruh kode program sekaligus kedalam bahasa mesin, contoh : Pemrograman Pascal, Bahasa C, Pemrograman Cobol, Assembly, Delphi, Visual Basic, dll. adalah program yang menterjemahkan kode program baris per baris kedalam bahasa mesin, contoh : Quick Basic. Interpreter adalah program yang menterjemahkan kode program baris per baris kedalam bahasa mesin, contoh : Quick Basic.

41 Perbedaan Interpreter dan Compiler Pada Compiler, jika hendak menjalankan program hasil kompilasi bisa dilakukan tanpa kode sumber. Pada Interpreter membutuhkan kode sumber Jika dengan Compiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu Parsing (pembuatan kode objek) dan Linking (penggabungan kode objek dengan library). Pada Interpreter tidak ada proses terpisah Pada Compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Pada interpreter tidak butuh linker Interpreter cocok untuk membuat/menguji coba modul/sub-routine/program- program kecil. Pada Compiler agak repot karena untuk mengubah suatu modul/kode objek kecil, maka harus dilakukan proses linking/penggabungan kembali semua objek dengan library yang diperlukan Pada Compiler bisa dilakukan optimisasi/peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Sedang pada Interpreter susah/tidak bisa dioptimasikan.

42 Pada saat menterjemahkan kode program sebenarnya Compiler ataupun Interpreter sebenarnya melakukan banyak hal seperti : mengoptimalkan kode agar bekerja lebih cepat, menambah fasilitas penanganan kesalahan, hubungan antar kode-kode program, dan lain sebagainya. Catatan, Source Program : Program yang menjadi sumber. Bahasa yang ditulis oleh progammer untuk dieksekusi oleh mesin. Executable Program : Program yang sudah berbentuk Bahasa Mesin hasil dari proses kompilasi. Interpreter dan Compiler

43 Metoda Desain Pemrograman Terstruktur Metode Perancangan Modular Metoda Perancangan Top-Dwon, Bottom-Up Implementasi internal : Procedure/Subprogram, Function Implementasi eksternal : file Unit/Header/Modul Untuk membantu dan menjamin dihasilkannya program yang terstruktur, dapat digunakan beberapa metoda/alat berikut :

44 Metoda Desain Pemrograman Terstruktur Pemrograman merupakan suatu tahap untuk mengimplementasikan penyelesaian suatu permasalahan tertentu dengan menggunakan suatu bahasa pemrograman. Penyusunan suatu program yang terstruktur merupakan salah satu syarat untuk membuat program yang baik, yang mudah dibaca, dipahami dan dikorekasi. A. Pemrograman Modular. - Program-program yang besar cenderung sulit terutama karena kompleksitas dari program tersebut dan banyak bagian dengan hubungan yang rumit dan detail program tersebut dan banyak bagian dengan hubungan yang rumit dan detail yang sebenarnya tidak diperlukan. yang sebenarnya tidak diperlukan. - Pada Pemrograman Modular, program dipecah-pecah kedalam modul-modul, dimana setiap modul menunjukkan fungsi dan tugas tunggal. Dengan membagi dimana setiap modul menunjukkan fungsi dan tugas tunggal. Dengan membagi masalah kedalam modul-modul, maka masalah akan menjadi sederhana masalah kedalam modul-modul, maka masalah akan menjadi sederhana sehingga program lebih mudah disusun dan difahami. sehingga program lebih mudah disusun dan difahami.

45 Metoda Desain Pemrograman Terstruktur - Pemrograman Modular diterapkan dengan menggunakan sub-routine, yaitu sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas, sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas, yakni : yakni : a. Jika persoalan yang ingin dipecahkan melalui program terlalu besar, sebaiknya pemecahan masalah dilakukan bertahap. pemecahan masalah dilakukan bertahap. b. Setiap tahapan akan menghasilkan modul program. c. Setiap modul tersebut diberi Nama sehingga untuk menyatakannya cukup menyebut Nama-nya. menyebut Nama-nya. d. Deskripsi fungsional dari setiap modul adalah penting. - Program yang didefinisikan modulnya dengan baik akan : a. Mudah dibaca dan dimengerti oleh pemakai. b. Efisien, karena modul yang sama mungkin dipakai pada beberapa tahapan program. program.

46 Metoda Desain Pemrograman Terstruktur - Karakteristik modul yang baik adalah : a. Logical Coherent, yakni modul hanya mengandung satu fungsi saja, tidak tercampur hal-hal lain. tercampur hal-hal lain. b. Independent, yakni modul progra dapat di tes sendiri-sendiri tanpa harus menunggu modul lain selesai maka harus di parameterisasi dengan baik, menunggu modul lain selesai maka harus di parameterisasi dengan baik, selain itu tidak merusak harga dari nama yang didefinisikan diluar tersebut. selain itu tidak merusak harga dari nama yang didefinisikan diluar tersebut. c. Ukuran Modul, yakni tidak terlalu besar, berarti harus dibagi-bagi menjadi modul-modul kecil. modul-modul kecil. - Modul Program dan Parameter, yakni : a. Modul program didefinisikan Namanya dan akan dipanggil melalui nama tersebut untuk dieksekusi. tersebut untuk dieksekusi. b. Modul dapat dibuat sehingga beberapa harga yang akan diolah oleh modul tersebut baru diberikan pada saat eksekusi, biasanya harga ini diberikan tersebut baru diberikan pada saat eksekusi, biasanya harga ini diberikan melalui nama yang disebut dengan parameter. melalui nama yang disebut dengan parameter.

47 Metoda Desain Pemrograman Terstruktur c. Parameter adalah Nama yang dipakai modul untuk berkomunikasi dengan modul lain. modul lain. d. Parameter Formal adalah Nama yang dipakai dalam mendefinisikan modul. e. Parameter Aktual adalah Nama yang diberikan ketika pemanggilan modul.

48 Contoh : Uses Crt; Var A, B, C, : integer; jumlah : integer; rata : real; Procedure petunjuk_program; Begin writeln( ‘ apabila program dijalankan ‘ ); writeln( ‘ anda diminta menuliskan 3 buah angka ‘ ); writeln; End; Begin petunjuk_program; write ( ‘ masukkan 3 buah angka A, B, C : ‘ ); readln(A, B, C); jumlah := A+B+C; rata := jumlah/3; writeln; writeln ( ‘ jumlahnya = ‘, jumlah ); writeln ( ‘ rata-rata = ‘, rata ); readln; End. Pada program disamping terdapat modul petunjuk_program (dalam pascal modul program berupa procedure atau function). Modul diatas tidak memiliki parameter karena modul hanya memuat pernyataan untuk menampilkan kalimat saja. Hasil : Apabila program dijalankan anda diminta menuliskan 3 buah angka masukkan 3 buah angka A, B, C : 2, 4, 6 jumlahnya = 12 rata-rata = 4

49 Uses Crt; Var A, B, C, : integer; jumlah : integer; rata : real; Procedure petunjuk_program; Begin writeln( ‘ apabila program dijalankan ‘ ); writeln( ‘ anda diminta menuliskan 3 buah angka ‘ ); writeln; End; Function jumlah(D,E,F : integer) : integer; Begin jumlah := D+E+F; End; Begin petunjuk_program; write ( ‘ masukkan 3 buah angka A, B, C : ‘ ); readln(A, B, C); jumlah := A+B+C; rata := jumlah/3; writeln; writeln ( ‘ jumlahnya = ‘, jumlah ); writeln ( ‘ rata-rata = ‘, rata ); readln; End.

50 Metode Modular : Implementasi Top-down …….. Call A …….. Call B …….. Call C …….. ……. Call A1 ……. Call A2 …….. ……. A B C A1 A2 Bagian Utama Dapat diterapkan secara : - Internal : sub program, procedure, function - Eksternal : file unit, header, modul

51 Konversi flow chart ini ke bahasa pemrograman : a. Basic atau foxpro b. Pascal atau C C=2, M=3 C=C+1 C>12 C>M For I=M to C Next I M=M+1 (I*C)>M I > M C<=M C=M+1M=C+1 P=C+M M=P+2 M=C+5 C=C+M end start C=C-M T F C=C*M Cetak C Cetak M F T F FT F T C = 37 M = 25

52 Metoda Desain Pemrograman Terstruktur B. Top-Down Design - Pendekatan ini bertitik tolak pada tujuan program secara umum/menyeluruh dan “bukan” bagaimana cara mencapainya. “bukan” bagaimana cara mencapainya. - Pada top-down desain, akan dihasilkan modul-modul dengan ciri : a. Modul mengimplementasikan proses tunggal, logis dapat berdiri sendiri dan mudah dipahami. mudah dipahami. b. Modul harus independen, sebuah modul ditulis tidak boleh bergantung pada implementasi modul lainnya. implementasi modul lainnya. c. Modul akan relatif pendek, disarankan kode modul tidak lebih dari satu halaman. halaman. - Keuntungan dari Top-Down desain adalah : bahwa setiap tahap pemrograman yang ada menjadi sederhana, karena setiap tingkat mengabaikan detail dari tingkat yang paling rendah. Dengan cara ini sebuah proses yang kompleks dipecah-pecah kedalam sebuah urutan langkah yang relatif sangat renda, hasil akhirnya berupa sebuah modul yang lebih sederhana.

53 Metode Perancangan Top-down Sub Masalah ASub Masalah BSub Masalah C Masalah Besar Sub Masalah A1 Sub Masalah A2 B A C A1 A2 Masalah utama Strategi umum dalam penyelesaian masalah besar; kompleks; rumit

54 Mahasiswa Dosen Perkuliahan Sistem Informasi Akademis Entry data Hapus data Laporan data Entry data Hapus data Laporan data Entry data Hapus data Laporan data Contoh Top-down :


Download ppt "Sistematika Materi Konsep pemrograman secara umum : Perkembangan pemrograman komputer Sejarah bahasa pemrograman Jenis bahasa pemrograman Perbandingan."

Presentasi serupa


Iklan oleh Google