MODUL PERKULIAHAN. Dasar Pemrograman. Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

Ukuran: px
Mulai penontonan dengan halaman:

Download "MODUL PERKULIAHAN. Dasar Pemrograman. Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh"

Transkripsi

1 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Terminologi Pemrograman Logika Pemecahan Masalah Kompetensi Mampu memahami Konsep Logika dan Pemrograman 1

2 Pendahuluan 1.1 Pengertian umum Program, Algoritma dan Flowchart Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran / output yang diharapkan. Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk memecahkan masalah. Flowchart (Diagram alur) : adalah urutan instruksi-instruksi program yang digambarkan dalam bentuk suatu diagram. Bahasa pemrograman : program yang berisikan instruksi-instruksi yang dimengerti oleh komputer. Ada 2 klasifikasi dalam Bahasa pemrograman: Low level language / bahasa tingkat rendah yang berorientasi pada mesin, contohnya: bahasa mesin / machine language dan bahasa rakitan / assembly language. High level language /bahasa tingkat tinggi adalah bahasa pemrograman yang berorientasi pada manusia. Contohnya : BASIC, PASCAL, COBOL, FORTRAN, C. 1.2 FLOWCHART UNTUK PROGRAM KOMPUTER Ada 2 jenis Flowchart : 1. flowchart sistem, adalah suatu gambar yang menjelaskan : - file-file yang diproses oleh program - jenis piranti yang digunakan oleh file - operasi terhadap file (masukan ataupun keluaran). 2. flowchart program (biasa disebut flowchart saja), adalah suatu gambar yang menjelaskan urutan : - Pembacaan data - Pemrosesan data - Pengambilan keputusan terhadap data 2

3 - Penyajian hasil pemrosesan data. A. Simbol-simbol pada Flowchart - Simbol dan kotak Flowchart Program : Ter minator Simbol untuk menyatakan MULAI (START) ataupun SELESAI (END). Manual input KOTAK MASUKAN, untuk membaca data yang kemudian diberikan sebagai harga suatu variabel. Data atau kotak data. Contoh: Kotak Data, digunakan untuk membaca data dan menampilkan data. Jadi untuk pemasukan data bisa digunakan kotak manual input Masukan A atau Masukan A Proc ess KOTAK PENUGASAN, untuk memberi harga kepada suatu variabel, atau untuk melakukan perhitungan matematika yang hasilnya diberikan sebagai suatu variabel. X = 43 X = Y + Z Document Kotak Keluaran, untuk mencetak (dan/atau menyimpan) hasil/keluaran. CETAK X atau CETAK X 3

4 Decision KOTAK KEPUTUSAN, untuk memutuskan arah atau percabangan yang diambil sesuai dengan kondisi yang saat itu terjadi, BENAR atau SALAH A < 3? No Yes Conn ector SIMBOL PENGHUBUNG (CONNECTOR) : simbol untuk keluar/ masuk prosedur atau proses dalam lembar/halaman yang sama OPC Simbol penghubung OFF PAGE CONNECTOR : simbol untuk keluar/ masuk prosedur atau proses dalam lembar/halaman yang lain, untuk penghubung bila diagram alur terputus disebabkan misalnya oleh pergantian halaman (tak cukup digambar 1 halaman) (diagram terputus pada satu halaman) (disambung pada halaman berikutnya) - Simbol untuk Flowchart Sistem : 4

5 Stored data Card Magnetic Magnetic Auxiliary Puncherd keyboard Program/proses Disk Tape Storage Card B. Memberikan Harga pada Variabel Suatu variabel dapat kita artikan sebagai suatu besaran yang dapat berubah-ubah harganya. Cara memberi harga kepada suatu variabel : Dengan kotak penugasan. (a) X = 12 variabel X diberi harga 12 Selain itu, kotak penugasan dapat berfungsi antara lain untuk : (b) C = P - Q Variabel C diberi harga sebesar harga variabel P dikurangi variabel Q (Dalam hal ini, harga variabel P serta Q harus sudah ada). ( c ) S = S + T Harga yang baru dari variabel S adalah harga lama T ditambah harga variabel. ( d ) N = N + 1 Harga yang baru dari variabel N adalah harga yang lama dari variabel N ditambah 1. (dengan perkataan lain, harga variabel N bertambah). C. JENIS VARIABEL (1) Variabel bilangan/numerik : hanya dapat diberi harga berupa bilangan nyata. (2) Variabel untai kata atau untai aksara/string. Dapat diberi harga berupa untai kata serta aksara (latin) yang boleh mengandung di antaranya tanda! * o ;? huruf A sampai Z, angka 0 sampai 9 (sebagai simbol saja). 5

6 Untuk membedakannya dengan variabel bilangan, nama variabel untai kata biasanya diberi tambahan $ pada aksara terakhir. N$ <--- "Mawar2" Contoh : Misalkan N$ merupakan nama variabel untai kata untuk menyatakan nama cottage. Suatu untai kata Mawar2 diberikan sebagai harga variabel N$. Contoh-contoh kasus : 1. Diagram alur untuk menghitung luas segitiga, bila diketahui ALAS = 10 dan TINGGI= 8. mulai Baca Alas dan Tinggi (1) memberi harga ALAS sebesar 10 (2) memberi harga TINGGI sebesar 8 (3) menghitung & memberi harga LUAS sebesar harga : (ALAS * TINGGI) / 2 (4) mencetak harga LUAS (akan tercetak = 40). Luas = (Alas * Tinggi)/2 Cetak Luas berhenti 2. Diagram alur untuk menjumlahkan 2 bilangan dalam himpunan data. Keterangan: (1) Satuan data pertama (berharga 13) dibaca & diberikan kepada variabel A, sehingga harga variabel A menjadi = (2) Selanjutnya satuan data kedua (berharga 21) dibaca & diberikan kepada variabel B,sehingga harga B = 21. (3) Menghitung/memberi harga variabel C sebesar

7 mulai Baca A dan B C = A + B Cetak C berhenti Latihan : Berdasarkan algoritma di bawah ini buatlah bentuk flowchart-nya! 1. Buatlah algoritma untuk menuliskan nilai mutlak dari nilai yang dimasukkan oleh pengguna. Pemahaman masalah: Nilai mutlak x x adalah sbb: x = x, jika x 0 x = -x, jika x < 0 Algoritma Nilai mutlak x adalah variabel yang menampung nilai yang dimasukkan Deskripsi: 1. Input nilai x. 2. Jika (x < 0) maka kerjakan perintah nomer 3, jika tidak kerjakan nomer 4 3. x -x 4. Tulis x. 7

8 Penjelasan algoritma: - Baris pertama meminta masukkan bilangan yang disimpan pada variabel x. - Baris kedua mengecek apakah nilai yang dimasukkan lebih kecil dari nol atau tidak, jika lebih kecil maka kerjakan perintah nomer 3 jika tidak lebih kecil maka kerjakan perintah nomer 4. - Baris ketiga membuat nilai x menjadi positif (baris ini hanya dilakukan jika nilai x lebih kecil dari nol) - Baris keempat mencetak nilai x. Algoritma mencari nilai mutlak merupakan algoritma bentuk percabangan, karena pada algoritma di atas kita dihadapkan pada sebuah kondisi yang akan membuat program mempunyai dua arah (lihat baris kedua). 2. Buatlah algoritma untuk mencetak sebuah kata yang diinput oleh pengguna sebanyak 5 kali. Pemahaman masalah: Meminta masukan berupa sebuah kata, kemudian kata tersebut tercetak sebanyak 5 kali. Algoritma mencetak kata sebanyak 5 kali Kt adalah variabel yang digunakan untuk menampung kata yang dimasukkan pengguna M adalah variabel untuk menyimpan nilai perulangan. Deskripsi: 1. Masukkan Kt 2. M = 1 3. selama (M <= 5) lakukan langkah 3 sampai dengan 5 4. cetak Kt 5. M = M +1 Penjelasan algoritma: - Langkah pertama meminta masukan sebuah kata yang disimpan pada variabel Kt 8

9 - Langkah kedua memberi nilai awal m=1, variabel M digunakan untuk menyimpan hasil pengulangan (pencacah). - Langkah ketiga memberikan perintah untuk mengulangi langkah ketiga hingga langkah kelima selama nilai M masih bernilai lebih kecil atau sama dengan 5. - Langkah keempat merupakan perintah untuk mencetak Kt. - Langkah kelima menambahkan variabel M dengan 1. variabel M harus ditambah dengan nilai 1 agar kondisi pada langkah ketiga ada saatnya bernilai salah, dalam hal ini digunakan untuk membatasi perulangan. Algoritma mencetak kata yang yang dimasukkan oleh pengguna merupakan bentuk algoritma pengulangan. Soal Latihan: 1. Buat Flowchart untuk menghitung Temperatur dalam derajat Celcius dan Reamuur, temperatur dalam derajat Fahrenheit. 2. Buat Flowchart menghitung luas Trapesium sama kaki yang diketahui alas, sudut alas serta tingginya. 3. Hitung luas dan keliling lingkaran yang diketahui jari-jarinya. 4. Hitung Luas serta panjang sisi miring segitiga siku-siku jika diketahui ke 2 sisi siku-sikunya. 5. Hitung Luas Jajaran Genjang yang diketahui 2 buah sisi serta sudut antara ke 2 sisi tersebut. 6. Hitung Luas segi lima beraturan yang diketahui panjang sisinya. 7. Hitung Luas dan Keliling segitiga yang diketahui ketiga sisinya. 8. Hitung Jari-Jari dan Luas Lingkaran Dalam dari segitiga yang diketahui ke 3 sisinya. 9. Hitung Jari-Jari dan Luas Lingkaran Luar dari segitiga yang diketahui ke 3 sisinya. 9

10 10. Hitung Luas dan keliling segi 10 beraturan yang diketahui jari-jari lingkaran luarnya. 11. Hitung Luas dan keliling segi 8 beraturan yang diketahui jari-jari lingkaran dalamnya. 12. Hitung Luas permukaan serta isi balok yang diketahui ke 3 rusuknya. 13. Hitung Luas permukaan serta isi bola yang diketahui jari-jarinya. 14. Hitung Luas permukaan serta isi tabung tertutup yang diketahui tinggi dan jari2 alasnya Daftar Pustaka Antony Pranata, Algoritma dan Pemrograman, J & J Learning, Yogyakarta, 2000 Rinaldi Munir, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung, Suryadi H.S., Agus Sumin, Pengantar Algoritma dan Pemrograman Teknik Diagram Alur dan Bahasa Basic Dasar, Gunadarma,

11 MODUL PERKULIAHAN Algoritma Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Terminologi Algoritma, Struktur Dasar Algoritma, Bentuk Penulisan Algoritma Kompetensi Memahami Konsep Algoritma, Mampu menjelaskan tahapan-tahapan dalam pemrograman komputer 1

12 2

13 Algoritma 2.1. Pengertian Algoritma Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh sederetan langkah instruksi yang logis. Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah. Sebagai contoh, tinjau persoalan mempertukarkan isi dua bejana, A dan B. Bejana A berisi larutan yang berwarna merah, sedangkan bejana B berisi air berwarna biru. Kita ingin mempertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. Untuk mempertukarkan isi dua bejana, kita memerlukan sebuah bejana tambahan yang diperlukan sebagai tempat penampungan sementara. Sebut bejana tambahan tersebut bejana C. Dengan menggunakan bejana bantu C ini, algoritma mempertukarkan isi dua buah bejana yang benar adalah sebagai berikut ini: Algoritma Tukar Isi Bejana: Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. Deskripsi: 1. Tuangkan larutan dari bejana A ke dalam bejana C. 2. Tuangkan larutan dari bejana B ke dalam bejana A. 3. Tuangkan larutan dari bejana C ke dalam bejana B. 3

14 2.2 Tahapan Pelaksanaan Program Oleh Komputer Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi + Linking Program dalam Bahasa Mesin Interpretasi oleh CPU Operasi (baca, tulis, hitung, perbandingan, dsb) Keterangan: Algoritma di translasikan menjadi program dalam bahasa tingkat tinggi. Selanjutnya, program dikompilasi dan diterjemahkan menjadi program dalam bahasa mesin dan di-link dengan berkas library. Instruksi dalam bahasa mesin diinterpretasikan oleh CPU. Operasi yang bersesuaian dengan setiap instruksi dilaksanakan. 2.3 Notasi Algoritma 4

15 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Notasi algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi algoritma yang berbeda. Hal yang penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Meskipun demikian untuk menghindari kekeliruan, ketaatan terhadap notasi perlu diperhatikan. Di bawah ini notasi yang umum digunakan dalam penulisan algoritma : Notasi I: menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif Algoritma EUCLIDEAN Diberikan dua buah bilangan bulat tak-negatif m dan n (m n). carilah pembagi bersama terbesar, pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n. Deskripsi: 1. Jika n = 0 maka m adalah jawabannya; Stop. Tetapi jika m 0, lanjutkan ke langkah 2 2. Bagilah m dengan n dan misalkan r adalah sisanya. 3. ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1. Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja seperti baca, hitung, bagi, ganti, dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan jika maka. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar Notasi II: menggunakan diagram alur (Flow chart) Diagram alir popular pada awal-awal era pemrograman dengan computer (terutama dengan bahasa Basic, Fortran, dan Cobol). Diagram alir lebih menggambarkan aliran instruksi di dalam program secara visual dibanding memperlihatkan struktur program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah 5

16 yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sukar. mulai Baca m dan n N = 0 tidak r = m mod n m = n n = r Tulis n berhenti Notasi III: menggunakan Pseudo-code Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudo-code dapat diterima asalkan perintahnya tidak 6

17 membingungkan pembaca. Keuntungan menggunakan notasi Pseudo-code adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman. Algoritma EUCLIDEAN {Dibaca dua buah bilangan bulat tak-negatif m dan n (m n). carilah pembagi bersama terbesar, pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.} DEKLARASI: m, n : integer {bilangan bulat yang akan dicari pbt-nya} r : integer {sisa hasil bagi} DESKRIPSI: KOTAK KEPUTUSAN, untuk memutuskan arah atau percabangan yang diambil read sesuai (m,n) dengan {m kondisi n} yang saat itu terjadi, BENAR atau SALAH while n 0 do r m MOD n A < 3? m n n r endwhile Yes No {hitung sisa hasil pembagian} {kondisi selesai pengulangan: n= 0, maka pbt(m,n) = m} write(m) Kata-kata yang digaris bawahi menyatakan kata-kata kunci untuk setiap notasi pseudocode yang digunakan. 2.4 Proses, Instruksi, dan Aksi Pada dasarnya, sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Tiap langkah instruksi tersebut mengerjakan suatu tindakan (aksi). Bila suatu aksi dilaksanakan, 7

18 maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari pengerjaan suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum dimulai, dan keadaan pada saat aksi selesai dikerjakan. Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebih dahulu. Langkah global ini diperhalus samapai langkah yang lebih rinci. Pendekatan desain algoritma seperti ini dinamakan Top-Down design. Cara pendekatan seperti ini sangant bermanfaat dalam membuat algoritma untuk masalah yang cukup rumit atau kompleks. Gagasan penghalusan langkah adalah memecah proses menjadi beberapa langkah. Tiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana. Penghalusan langkah terus berlanjut samapai tiap langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses. 2.5 Struktur Dasar Algoritma Algoritma berisi langkah-langkah penyelesaian masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu: 1. Runtunan (sequence). 2. Pemilihan (selection). 3. Pengulangan (repetition) Runtunan Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma. Bila urutannya diubah, maka hasil akhir mungkin juga berubah. Contoh : READ(A) READ(B) T = A + B WRITE T Instruksi di atas dilaksanakan secara berurutan atau sekuen sehingga membentuk struktur sequential flow 8

19 2.5.2 Pemilihan Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Dalam pemilihan dikenal beberapa struktur pemilihan, yaitu: If - then Aksi hanya akan dilaksanakan apabila kondisi bernilai benar. Sebaliknya, apabila kondisi bernilai salah, maka aksi tidak akan dilaksanakan. Struktur Umum: if kondisi then Aksi Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi (persyaratan) dipenuhi (bernilai benar), dan tidak memberikan pilihan aksi lain bila kondisi bernilai salah. If-then-else Struktur pemilihan ini memberikan dua buah aksi yang akan dikerjakan tergantung pada nilai kondisinya. Struktur umumnya: if kondisi then aksi 1 else aksi 2 Else artinya kalau tidak. Bila kondisi benar, aksi 1 yang akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan. Contoh: If x > y then Tulis x sebagai bilangan terbesar Else Tulis y sebagai bilangan terbesar 9

20 Contoh diatas adalah untuk menentukan nilai terbesar dari dua buah bilangan bulat, x dan y (andaikan x y) If-then-else if Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur pilihannya menjadi lebih rumit, biasanya untuk pemilihan seperti ini disebut pemilihan bersarang. Contoh: menentukan bilangan terbesar dari tiga buah bilangan: x, y, z: If x > y then If x > z then Tulis x sebagai bilangan terbesar Else Tulis z sebagai bilangan terbesar Else If y > z then Tulis y sebagai bilangan terbesar else Tulis z sebagai bilangan terbesar Kelebihan struktur pemilihan terletak pada kemampuannya yang memungkinakan pemroses mengikuti jalur aksi yang berbeda berdasarkan kondisi yang ada Pengulangan Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. Dengan kata lain, pengulangan memungkinkan pengerjaan beberapa kali perintah tetapi penulisan perintah tersebut hanya satu kali. Struktur pengulangan yang umum digunakan antara lain: Pernyataan for Pernyataan pengulangan for digunakan jika kita sudah tahu berapa kali kita akan mengulang satu atau beberapa pernyataan. Bentuk umum pernyataan for adalah sbb: For pencacah := nilai_awal to nilai_akhir do Aksi Aksi akan dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari nilai_awal sampai nilai_akhir 10

21 Pernyataan repeat-until Pernyataan repeat-until akan melakukan pengulangan aksi hingga kondisi (persyaratan) berhenti terpenuhi. Bentuk umum pernyataan repeat-until adalah sbb: Repeat Aksi Until kondisi Tidak seperti pada struktur for-do yang jumlah pengulangannya diketahui sebelum pengulangan dilaksanakan, maka untuk struktur repeat-until digunakan jika jumlah pengulangan tidak dapat diketahui di awal. Namun yang pasti, pengulangan aksi akan terus dilakukan sampai kondisi berhenti dipenuhi. Pernyataan while-do Sama seperti pada pernyataan repeat-until, pada pernyataan while-do ini digunakan untuk pengulangan yang belum diketahui pasti jumlah pengulangannya, berakhirnya pengulangan ini ditentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi, maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi, pengulangan akan terus dilakukan. Bentuk umum pernyataan while-do adalah sebagai berikut: While kondisi do Aksi Catatan: Pada pernyataan repeat-until dan while-do, pada dasarnya hampir sama yaitu digunakan jika jumlah pengulangan belum dapat ditentukan. Tetapi terdapat perbedaan yaitu pada pengecekan kondisi. Jika pada pernyataan while, kondisi dicek pada awal blok pengulangan, pada pernyataan repeat-until, kondisi dicek pada akhir blok pengulangan. Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat-until mengulang pernyataan selama kondisi belum terpenuhi. 11

22 Latihan: 1. Buatlah algoritma dengan notasi deskriftif dengan masalah sbb: Seorang pemuda berada di tepi sebuah sungai, pemuda tersebut membawa seekor kambing, seekor serigala, dan sekeranjang sayur. Mereka bermaksud menyebrang sungai. Pemuda tersebut menemukan sebuah perahu kecil yang hanya dapat memuat satu bawaan setiap kali menyebrang. Situasi dipersulit dengan dengan kenyataan bahwa serigala tidak dapt ditinggal berdua dengan kambing (karena serigala akan memangsa kambing) atau kambing tidak dapat ditinggal berdua dengan sekeranjang sayur (karena kambing akan memakan sayur). Buatlah algoritma untuk menyebrangkan pemuda dan seluruh bawaannya itu sehingga mereka sampai ke seberang sungai dengan selamat. 2. Buatlah algoritma untuk meminta masukan tiga bilangan dari pengguna kemudian menampilkan bilangan terkecil di antara ketiga bilangan tersebut. 3. Sebuah tabel terdiri atas kolom NIM, Nama, alamat, dan Nomor Telepon. Tabel tersebut sudah berisi data utama sekumpulan mahasiswa di sebuah Perguruan Tinggi. Tuliskan algoritma dalam notasi pseudo-code jika kita ingin mengetahui alamat dan nomor telepon mahasiswa dengan NIM tertentu pada tabel tersebut. 12

23 Daftar Pustaka Antony Pranata, Algoritma dan Pemrograman, J & J Learning, Yogyakarta, 2000 Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++ dan JAVA, Mitra Wacana Media, Rinaldi Munir, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung,

24 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Struktur Program PASCAL dan Perintah sederhana dalam bahasa PASCAL Kompetensi Mengerti Struktur Program PASCAL dan Mampu membuat program sederhana dalam bahasa PASCAL 1

25 2

26 Bahasa Pascal Sejarah Pascal Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis. Profersor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk mengajar program komputer secara sistematis, khususnya untuk memperkenalkan bahasa pemrograman yang terstruktur (structured programming). Jadi Pascal adalah bahasa yang ditujukan untuk membuat program terstruktur. BAHASA KOMPUTER Ada tiga jenis bahasa yang dikenal oleh komputer : 1. Bahasa Mesin (Machine Language) Instruksi komputer yang disimpan dalam memori komputer berupa bits (bilangan biner, yaitu 0 atau 1). Instruksi bahasa mesin sangat tergantung kepada hardware dan desain dari komputer itu sendiri. Oleh karena itu komputer yang berbeda mungkin saja memiliki kode mesin yang berbeda pula. Pemrograman dalam bahasa mesin sangat sulit dan memerlukan waktu yang lama. Berikut contoh dari bahasa mesin Addres Content

27 Bahasa Assembly Adalah salah satu bahasa tingkat rendah (low level language). Dalam bahasa assembly, programmer menulis instruksi dengan menggunakan kode alphabetic yang dikenal dengan nama mnemonic. Bahasa assembly sangat bergantung kepada jenis instruksi komputer yang digunakan. Sebagai contoh bentuk menmonic untuk operasi penambahan, pengurangan, perkalian dan pembagian dinyatakan dengab kata ADD, SUB, MPY dan DIV Berikut contoh dari bahasa assembly MOV N, R0 MOV #1000, R1 MOV #2000, R2 MOV #3000, R3 JSR R7, ROUTINE HALT ROUTINE MOV (R1) +, R4 ADD -(R2),R4 MOV R4, (R3) + INC R0 BL1 ROUTINE RTS R7 N : WORD Bahasa tingkat tinggi (High Level Language) Dalam bahasa tingkat tinggi, instruksi program atau pernyataan ditulis dengan menggunakan bahasa manusia untuk menyatakan data yang akan dimanipulasi atau aksi yang akan dilakukan.bahasa tingkst tinggi tidak bergantung kepada jenis instruksi komputer, artinya tidak tergantung pada jenis perangkat komputer yang digunakan. Dengan demikian bahasa tingkat tinggi harus dapat diterjemahkan kedalam bahasa mesin dan harus dapat dieksekusi pada koputer yang berbeda. Program yang menerjemahkan bahasa tingkat tinggi kedalam bahasa mesin disebut compiler, program yang digunakan untuk menulis bahasa tingkat tinggi disebut dengna source program. Program yang diterjemahkan Compiler kedalam bahasa mesin disebut dengan Object 4

28 Program. Contoh dari bahasa tingkat tinggi adalah bahasa ADA, BASIC, COBOL, FORTRAN, LISP, MODULA-1, PASCAL, C, C++ dan lain-lain. Kompilasi & Execusi Sistem komputer terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Proses kompilasi dan eksekusi pada bahasa tingkat tinggi terjadi dalam sistem komputer. Proses tersebut dapat digambarkan sebagai berikut : SISTEM KOMPUTER Source Program Input Data Pascal Compiler Object Program Library Procedur Link Executable Program C O M P U T E R Output Langkah-langkah dalam pemrograman a. Menulis Program b. menjalankan dan menguji kebenaran program c. jika terjadi kesalahan (logika maupun kaidah) program diperbaiki dan d. kembali ke langkah b. Langkah-langkah tersebut dapat di gambarkan dengan Flowchart. 5

29 Struktur Program Pascal Struktur dari suatu program Pascal terdiri dari sebuah judul program (optional) dan suatu blok program (block program) atau badan program (body program). Judul program (program heading) Blok program dibagi lagi menjadi dua bagian, yaitu bagian deklarasi (declaration part). Bagian deklarasi dapat terdiri dari deklarasi label (label declaration), deklarasi konstanta (constant declaration), deklarasi tipe (type declaration), deklarasi variabel (variabel declaration), deklarasi prosedur (procedure declaration) dan deklarasi fungsi (function declaration). Bagian pernyataan (statement part) Program Pascal Sederhana Program berikut ini adalah program Pascal yang sederhana yang bertujuan untuk mencetak kalimat Hello World pada layar. Pada bagian kiri program terdapat angka yang menunjukkan baris program. Angka ini akan digunakan untuk menjelaskan makna dari penulisan tersebut. Bagian tersebut bukan merupakan bagian dari struktur program sehingga tidak perlu ditulis pada saat membuat program. 6

30 Tutorial 1.1 {1} program tutorial1; uses wincrt; {2} var {3} world_stmt: string; {4} begin {5} world_stmt := 'Hello world!'; {6} writeln(world_stmt); {7} end. Penjelasan Program Sederhana Berikut penjelasan dari setiap baris program diatas, {1} Baris ini merupakan nama program, dan klausa program (uses).uses adalah sintak program yang digunakan untuk memanggil library atau *unit*. Crt / Wincrt adalah adalah salah satu library yang paling banyak digunakan didalam program Pascal. Masih banyak lagi libray yang disediakan oleh program pascal. Dengan library ini Compiler dapat mengetahui library yang diperlukan. {2} var adalah bagian awal dari blok program. Bagian ini memberitahukan compiler bahwa ada variabel yang akan didefinisikan. {3} world_stmt adalah nama dari sebuah variabel. Variabel tersebut dideklarasikan dengan tipe string. {4} begin adalah sintak yang menunjukkan awal dari sebuah blok kode program {5} & {6} adalah perintah program. Perintah-perintah program ini akan dijelaskan nanti. {7} end adalah akhir dari sebuah blok program. Perintah-Perintah Dasar Pascal Definisi Variabel o String : adalah tipe teks atau kalimat. Contoh : hello world, informatika. o Integer : adalah Bilangan yang bukan bilangan desimal. Contoh : 23, 12, 9 o Char : adalah bagian dari string. Contoh h, o, 1 o Real : adalah bilangan desimal. Contoh : 23.5 adalah bilangan real Komentar (Comments) Komentar adalah teks yang ditulis dengan tujuan untuk menjelaskan maksud dari kode program yang ditulis. Komentar ditulis dengan menggunakan tanda { atau (* untuk tanda pembukan dan *) untuk tanda penutup. Pemberian Nilai (Assignment) Dalam Pascal 7

31 Pemberian nilai (assignment) ke sebuah variabel dilakukan dengan menggunakan tanda :=. Berikut contoh pemberian nilai (assignment) : o choice_char := 'a'; { Nilai yang diberikan terhadap variabel yang bertipe karakter. Untuk tipe karakter ini juga nilai yang diberikan menggunakan tanda } o money := 3.25; { Nilai yang diberikan terhadap variabel yang bertipe real} o coins := 10; { Nilai yang diberikan terhadap variabel yang bertipe integer} Contoh Program Pertama : Program Pendahuluan Writeln( Hello World ); End. Hasil eksekusi program: Hello World Mengenal Prosedur Writeln dan Readln Dalam bahasa pascal, prosedur yang digunakan untuk melakukan penulisan adalah Write dan Writeln. Perbedaan dari kedua buah prosedur ini hanyalah terdapat pada posisi kursornya. Pada prosedur Write kursor akan berada di belakang teks yang dituliskan. Sedangkan pada prosedur Writeln, setelah menuliskan teks maka posisi kursor akan dipindahkan ke baris berikutnya. Selanjutnya untuk proses pembacaan, bahasa Pascal memiliki prosedur Read, Readln dan ReadKey. Namun prosedur yang sering digunakan adalah Readln. Komentar Program Komentar program merupakan bagian program yang tidak ikut dieksekusi sehingga kehadirannya tidak mempengaruhi jalannya program. Pada umumnya bahasa Pascal hanya mendukung dua macam cara untuk membuat komentar program, yaitu: 1. Menggunakan tanda (*...*) 8

32 Komentar ini dapat digunakan untuk menuliskan komentar yang banyaknya lebih dari satu baris. Contoh (* Ini adalah komentar program yang banyaknya satu baris*) (* Ini juga merupakan komentar program dengan banyak baris lebih dari satu*) 2. Menggunakan tanda {...} Komentar ini lebih sering digunakan oleh para programmer Pascal karena lebih singkat dan sederhana. Contoh: { Ini adalah komentar program yang banyaknya satu baris} { Ini juga merupakan komentar program dengan banyak baris lebih dari satu} Reserved Word Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah terintergrasi dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu yang telah didefinisikan oleh Pascal. Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal, beberapa Reserved Word dalam Pascal antara lain: AND DOWNTO IN OF STRING ASM OR INHERITED THEN ARRAY END TO BEGIN EXPORTS INTERFACE PROCEDURE TYPE FILE LABEL PROGRAM UNIT CONST FOR NIL RECORD REPEAT FUNCTION CONSTRUCTOR MOD GOTO DESTRUCTOR LIBRARY SET VAR DIV ELSE PACKED CASE UNTIL USES IF NOT SHL WHILE DO IMPLEMENTATION OBJECT SHR WITH INLINE. 9

33 Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved Word berikut: ABSOLUTE ASSEMBLER () FAR FORWARD INDEX Statemen-statemen yang digunakan untuk pengaturan letak layar. # ClrScr [prosedur]. Perintah ini digunakan untuk membersihkan layar. sintaks: ClrScr; [Clear screen] # GotoXY[prosedur]. Untuk menempatkan posisi kursor pada layar. Sintaks: GotoXY(X, Y: Byte); Keterangan : X = sumbu X (posisi horisontal) Y = sumbu Y (posisi vertikal) # DelLine [prosedur]. Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibawahnya. Sintaks: DelLine; # InsLine [prosedur]. Untuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebawah tampilantampilan baris dibawahnya. Sintaks: InsLine; Statemen yang digunakan untuk memanipulasi string. # ConCat[fungsi]. Untuk menggabungkan 2 atau beberapa variabel string. Sintaks: ConCat (s1 [,s2,...,sn]: String) : String; contoh: ConCat ('ABC','DEF') { ABCDEF } # Copy [fungsi]. Mengambil satu atau beberapa karakter dari sebuah string. Sintaks: Copy (S,Index,Count) : String; Keterangan : 10

34 S = sebuah string (string). Index = posisi awal kita akan mengambil beberapa karakter (integer) Count = banyaknya karakter yang akan diambil (integer). # Delete [prosedur]. Menghapus sebagian karakter dari sebuah string. Sintaks: Delete (S,Index,Count); Keterangan : sama dengan statemen Copy. # Insert [prosedur]. Menyisipkan satu atau beberapa karakter ke dalam sebuah string. Sintaks: Insert (Source,var S,Index); Keterangan : Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer). # Length [fungsi]. Memberikan nilai panjang dari suatu string (jumlah karakter dalam string). Sintaks: Length (S); Keterangan : S = string Length(S) menghasilkan nilai integer. # Pos [fungsi]. Mencari posisi sebuah bagian string (substring) didalam sebuah string. Sintaks: Pos (Substr,S); {menghasilkan nilai Byte} Keterangan : Substr = substring yang akan dicari posisinya di dalam sebuah string S. Bila bernilai 0 berarti nilai string yang dicari tidak ada. # Str [prosedur]. Merubah nilai numerik ke dalam nilai string. Sintaks: Str (N,S); Keterangan : N = data tipe integer, S = data tipe string. # Val [prosedur]. 11

35 Merubah nilai string ke dalam nilai numerik. Sintaks: Val (S,N,P); Keterangan : S = nilai string, N = nilai real, P = posisi salah. Nilai string harus berisi angka, plus atau minus, bila tidak berarti kesalahan dan letak kesalahannya ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb = 0 (nol). # UpCase [fungsi]. Memberikan huruf kapital dari argumen. Sintaks: UpCase (S); Keterangan : S = variabel bertipe karakter. 12

36 Daftar Pustaka Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Rinaldi Munir, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung,

37 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Variabel, Konstanta dan Jenis Tipe Data Memahami konsep penamaan dan tipe data dalam bahasa pemrograman 1

38 2

39 Tipe, Nama dan Nilai Untuk mendeklarasikan variabel, sebelumnya harus ditentukan tipenya terlebih dahulu. Tipe ini menentukan nilai yang dapat disimpan variabel tersebut dan operator-operator apa saja yang dapat dikenakan padanya. Suatu tipe menyatakan pola penyajian data dalam komputer. Mendefinisikan tipe berarti : menentukan nama tipe data itu mendefinisikan domain nilai yang dapat dimiliki perjanjian tentang cara menulis tetapan bertipe tersebut operator yang dapat dioperasikan terhadap data bertipe tersebut Tipe data dapat dikelompokan menjadi dua macam : 1. tipe dasar / sederhana : - bilangan logik - bilangan bulat - bilangan riil - karakter 2. tipe bentukan : - rekaman (record) - String - Larik (array) Dan secara rinci ada enam kelompok tipe data, yaitu : 1. Tipe sederhana. Tipe ini dibagi lagi menjadi dua tipe, yaitu: a. Tipe ordinal. Tipe ordinal sendiri dibagi lagi menjadi beberapa tipe, yaitu : Tipe bilangan bulat Tipe boolean Tipe karakter Tipe terbilang Tipe subjangkauan b. Tipe real 2. Tipe string, yaitu sekumpulan karakter 3

40 3. Tipe terstruktur. Tipe ini dibagi lagi menjadi lima, yaitu : Tipe larik (array) Tipe rekaman Tipe objek Tipe himpunan Tipe berkas 4. Tipe pointer 5. Tipe prosedural 6. Tipe objek Tidak semua tipe diatas akan dibahas pada modul ini, karena memang ada beberapa tipe data yang jarang digunakan Tipe Dasar Dalam dunia pemrograman, yang termasuk tipe dasar adalah bilangan logika, bilangan bulat, karakter, bilangan Riil, dan string. Tiga tipe dasar yang pertama disebut juga tipe ordinal karena setiap konstanta nilainya dapat ditransformasikan ke suatu nilai integer Bilangan Logika Nama Tipe Nama tipe bilangan logik adalah boolean Ranah Nilai (jangkauan) Bilangan logik hanya mengenal dua buah nilai: benar (true) atau salah (false). Istilah bilangan pada bilangan logik muncul karena nilai benar dan salah dapat dinyatakan dengan angka 1 dan 0 (atau sebaliknya tergantung konvensi yang digunakan). Konstanta Karena ranah nilai tipe boolean hanya beranggotakan dua buah nilai, maka konstanta (constant) atau tetapan yang terdapat pada tipe ini adalah true dan false. Operasi operasi yang dapat dilakukan terhadap tipe boolean dikenal dengan operasi logika atau operasi boolean. Operasi logika menghasilkan nilai true atau false. Operator yang umum digunakan untuk operasi logika adalah: not, and, or, xor. a b a and b a or b a xor b 4

41 true true true true false true false false true true false true false true true false false false false false Bilangan Bulat Nama Tipe Nama tipe bilangan bulat adalah integer Ranah Nilai (jangkauan) Dalam algoritma kita dapat mendefinisikan ranah tertentu untuk obyek yang kita definisikan. Pendefinisian ranah ini diperlukan untuk menyatakan bahwa nilai obyek hanya boleh berada dalam ranah tersebut. Misalnya obyek jam didefinisikan bertipe bilangan bulat dengan ranah nilai untuk jam adalah dalam {0..23}. implementasi tipe integer dalam bahasa pemrograman tergantung pada kompilator bahasa yang digunakan. Tipe bilangan bulat adalah tipe yang memiliki keterurutan. Ini artinya, bila sebuah nilai bilangan bulat diketahui, nilai sebelumnya (predecessor) dan nilai sesudahnya (successor) dapat ditentukan. Contohnya, predecessor dari 8 adalah 7, sedangkan successor-nya adalah 9. Konstanta Konstanta untuk nilai bertipe bilangan bulat harus ditulis tanpa mengandung titik desimal. Operasi Operasi yang dilakukan terhadap bilangan bulat ada dua macam, yaitu operasi aritmetika dan operasi perbandingan. a. Operasi Aritmetika Operasi aritmetika terhadap bilangan bulat dengan sembarang operator aritmetika akan menghasilkan nilai yang bertipe bilangan bulat juga. Operator aritmetika yang berlaku pada bilangan bulat adalah: + (tambah) - (kurang) * (kali) 5

42 div mod (bagi) (sisa hasil bagi) Operator div (divide) adalah operator pembagian khusus untuk bilangan bulat yang memberikan hasil pembagian berupa bilangan bulat, sedangkan mod (modulo) memberikan sisa hasil pembagian. Obyek yang dioperasikan disebut operand. Misalkan pada operasi a + b, masingmasing a dan b adalah operand, sedangkan + adalah operatornya. Semua operator di atas membutuhakan dua buah operand dalam pengoperasiannya, sehingga disebut juga operator biner. Khusus untuk operator -, dapat juga menjadi operator uner, karena dapat dioperasikan sebagai dengan satu operand, misalnya -5, -25, dan sebagainya. b. Operasi Perbandingan Operasi perbandingan terhadap bilangan bulat dengan salah satu operator relasional menghasilkan nilai boolean (true atau false). Operator perbandingan untuk bilangan bulat adalah: < (lebih kecil) < = (lebih kecil atau sama dengan) > (lebih besar) > = (lebih besar atau sama dengan) = (sama dengan) < > (tidak sama dengan) Bilangan Riil Bilangan riil adalah bilangan yang mengandung pecahan desimal, misalnya 3.65, ,, E-6,.24, dan lain-lain. Nama Tipe Nama tipe bilangan riil adalah real Ranah Nilai (jangkauan) Dalam implementasinya, tipe real mempunyai rentang nilai yang terbatas tergantung dengan kompilator yang digunakan (secara teoritis tipe bilangan riil memiliki rentang nilai yang tidak terbatas). 6

43 Konstanta Setiap konstanta yang bertipe bilangan riil harus ditulis dengan tanda titik desimal. Operasi Operasi yang dilakukan terhadap bilangan riil ada dua macam, yaitu operasi aritmetika dan operasi perbandingan. a. Operasi Aritmetika Operasi aritmetika terhadap bilangan riil dengan sembarang operator aritmetika akan menghasilkan nilai yang bertipe bilangan riil juga. Operator aritmetika yang berlaku pada bilangan riil adalah: + (tambah) - (kurang) * (kali) / (bagi) Umumnya kompilator bahasa pemrograman membolehkan operasi campuran, yaitu operasi aritmetika dengan salah satu operand-nya bertipe bilangan riil sedangkan operand lainnya bilangan bulat. Oleh kompilator tersebut, nilai operand bilangan bulat dikonversi menjadi bilangan riil. Hal ini juga berlaku bila semua operand merupakan bilangan bulat, sedangkan peubah penampungnya bertipe riil. Sedapat mungkin di dalam algoritma kita menghindari operasi campuran. b. Operasi Perbandingan Operasi perbandingan terhadap bilangan riil dengan salah satu operator relasional menghasilkan nilai boolean (true atau false). Operator perbandingan untuk bilangan riil adalah: < (lebih kecil) < = (lebih kecil atau sama dengan) > (lebih besar) > = (lebih besar atau sama dengan) < > (tidak sama dengan) 7

44 Pada operasi perbandingan terhadap bilangan riil tidak mengenal operator kesamaan atau =. Hal ini karena bilangan riil tidak dapat disajikan secara tepat oleh komputer. Misalnya 1/3 tidak sama dengan , sebab 1/3 = (denga angka tiga yang tidak pernah berhenti) Karakter Tidak seperti tipe bilangan bulat yang digunakan untuk menyimpan data numeris, tipe karakter digunakan untuk menyimpan data alfanumeris, seperti A, $, 1, 9, &, *, dsb. Nama Tipe Tipe data karakter didefinisikan dengan char Ranah Nilai (jangkauan) Dalam hal ini bisa berupa apa saja, termasuk semua kode ASCII Konstanta Tetapan untuk data bertipe karakter harus diapit oleh tanda petik tunggal. Operasi Operasi yang dapat dilakukan terhadap tipe karakter adalah operasi perbandingan. Operator perbandingan yang berlaku untuk tipe karakter adalah: < (lebih kecil) < = (lebih kecil atau sama dengan) > (lebih besar) > = (lebih besar atau sama dengan) = (sama dengan) < > (tidak sama dengan) Seperti halnya pada tipe bilangan bulat, tipe karakter juga mempunyai ketentuan (successor dan predecessor) yang ditentukan oleh cara pengkodeannya di dalam 8

45 komputer, misalnya pengkodean ASCII. Operasi dengan operator perbandingan akan menghasilkan nilai boolean. Contoh: a = a (hasil: True) T = t (hasil: False) m < z (hasil: True) 4.2. Variabel/ Parameter Variabel adalah identifier yang berisi data yang dapat berubah-ubah nilainya didalam program. Contoh variabel (pengenal) yang benar : semester_1 N2 K HargaBarang Nilai_Akhir JumlahPenduduk Jumlah_Total Contoh variabel identifier (pengenal) yang salah : Semester 1 2N Harga Barang Jumlah-Penduduk 4.3. Operator Pada dasarnya ada tujuh macam operator, yaitu : 1. operator pemberian nilai, contoh : = 2. operator aritmetik, contoh : +, -, *, /, div, mod 3. operator pemanipulasi bit, contoh SHL, SHR 4. operator Boolean, contoh : And, Or, Nand, Nor, Xor 9

46 5. operator pembanding, contoh : >, >=, <, <=, <> 6. operator himpunan, contoh : + (Union), - (Selisih), * (Intersection) 7. operator string, contoh : + (concat) Tapi pada modul ini tidak akan dibahas semua operator tersebut, hanya beberapa saja, mengingat keterbatasan yang ada Operator Pemberian Nilai Operator yang paling sering digunkan adalah operator pemberian nilai. Contoh : A := 12 ; {untuk tipe bil. Bulat / integer} B := Hallo. ; {untuk tipe string} Phi := 3.14 ; {untuk tipe real} Operator Aritmetik Operator aritmetik hanya dapat dipakai pada operand bertipe bilangan bulat dan riil. Ada enam macam operator aritmetik, yaitu : Operator Operasi Tipe Operan Tipe Hasil + Penjumlahan Bil. Bulat Bil. Bulat Bil. Real Bil. Real - Pengurangan Bil. Bulat Bil. Bulat Bil. Real Bil. Real * Perkalian Bil. Bulat Bil. Bulat Bil. Real Bil. Real / Pembagian Bil. Bulat Bil. Real Bil. Real Bil. Real Div Pembagian bil. Bil. Bulat Bil. Bulat Bulat Sisa Bil. Bulat Bil. Bulat Mod pembagian (modulus) 10

47 Berikut ini adalah contoh penggunaan operator aritmetik : X := y + z ; Z := a b c d ; L := 5 * 9 * 3.14 ; X := a / b ; C := 10 div 2 ; D := i mod j ; Latihan: Tuliskan rumus berikut dalam notasi algoritma: 1. L = ½. a. t L := 0.5 * a * t ; 2. C = V B 2 + A 2 C := V * Sqrt (sqr (B) + sqr (A)) ; 3. X = 2a 2 + 2ab + c X := 2 * sqr (a) + 2 * a * b + c ; 4. Vt = Vo. t + 2. a. t 2 Vt := Vo * t + 2 * a * sqr (t); 5. a = 10 mod 3 a := 10 mod 3 ; 6. b = 10 div 3 b := 10 div 3 ; Buatlah sebuah algoritma dengan spesifikasi sbb: (a) menampilkan tulisan Halo, siapa namamu? (b) meminta pengguna memasukkan namanya (c) menuliskan pesan senang berteman denganmu, <nama yang dimasukkan> 11

48 Tuliskan program Pascal untuk soal latihan pada modul 1 No. Sampai dengan No.14 sesuai dengan kelompok masing-masing Daftar Pustaka Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Rinaldi Munir, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung,

49 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Runtunan Memahami Struktur Kendali Proses Runtunan 1

50 Runtunan Algoritma merupakan runtunan (sequence) satu atau lebih instruksi, yang berarti bahwa: 1. Tiap instruksi dikerjakan satu persatu; 2. Tiap instruksi dilaksanakan tepat sekali; tidak ada instruksi yang diulang; 3. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagaimana yang tertulis di dalam teks algoritmanya; 4. akhir dari instruksi terakhir merupakan akhir algoritma. Urutan instruksi di dalam algoritma adalah penting. Urutan instruksi menunjukkan urutan logik penyelesaian masalah. Bergantung pada masalahnya, urutan instruksi yang berbeda mungkin tidak ada pengaruhnya terhadap solusi persoalan, tetapi mungkin juga menghasilkan keluaran yang berbeda pula Urutan instruksi yang tidak berpengaruh terhadap solusi persoalan Contoh kasus: Dibaca dua buah nilai integer, A dan B. Hitung jumlah keduanya dan hasil kali keduanya, lalu cetak jumlah dan hasil kali tersebut. Algortima Runtunan_1 Deklarasi: A, B, C, D : integer Deskripsi: Read(A, B) C A + B D A * B Write(C,D) Algortima Runtunan_2 Deklarasi: A, B, C, D : integer Deskripsi: Read(A, B) D A * B C A + B Write(C,D) Kedua algoritma di atas akan menghasilkan keluaran yang sama meskipun urutan instruksinya diubah. 2

51 5.2. Urutan instruksi berpengaruh terhadap solusi persoalan Contoh kasus: Diketahui dua buah nilai integer, masing-masing disimpan di dalam dua buah peubah (variabel), A dan B. Bagaimana cara mempertukarkan nilai A dan B? misalnya, sebelumnya pertukaran A=8 dan B=5, maka setelah pertukaran, nilai A=5 dan B=8. Dalam mempertukarkan nilai dua buah variabel, perlu digunakan variabel bantu, misalnya temp. Algoritma Tukar_1 Deklarasi: A : integer {nilai pertama} B : integer {nilai kedua} Temp : integer {variabel bantu} Deskripsi: Read(A, B) Write(A,B) temp A A B B temp Write(A,B) Algoritma Tukar_2 Deklarasi: A : integer {nilai pertama} B : integer {nilai kedua} Temp : integer {variabel bantu} Deskripsi: Read(A, B) Write(A,B) temp A B temp A B Write(A,B) Kedua algoritma di atas akan memberikan hasil yang berbeda. Pada algoritma pertama akan memberikan hasil yang diinginkan sebaliknya pada algortima kedua nilai A da nilai b tidak akan bertukar. Contoh: 1. Tulislah program untuk menampilkan jumlah hari, jam, menit, dan detik dari masukan berupa lamanya waktu dalam detik. Sebagai contoh, masukan detik akan menghasilkan keluaran: 1 hari, 3 jam 46 menit dan 40 detik. Keluaran dari program ini adalah banyaknya hari, jam, menit dan detik dari waktu detik yang dimasukan. 3

52 Jawab: Misalkan masukan detik. Langkah-langkah penghitungan tersebut dapat diltuliskan sebagai berikut: - Banyaknya hari = / (60 * 60 * 24) = / = 1 hari. - Banyaknya jam = ( * )/ (60 * 60) = / 3600 = 3 jam - Banyaknya menit = ( * 3.600) / 60 = / 60 = 46 menit - Banyaknya detik = ( * 60) = = 40 detik. Berdasarkan contoh penghitungan di atas, maka dapat dituliskan algoritma pencarian hari, jam, menit dan detik adalah sebagai berikut: Algortima Konversi_detik Deklarasi Detik : longint; Hr, jm, mn, dt : integer; Deskripsi Read(detik) hr detik / detik detik hr * jm detik / 3600 detik detik jm * 3600 mn detik / 60 detik detik mn * 60 dt detik. Write(hr, jm, mn, dt) Jika algoritma di atas ditranslasikan ke bahasa Pascal, digunakan tipe data longint untuk variabel detik karena range(ranah nilai) tipe integer terbatas, sedangkan tipe longint mempunyai range yang lebih besar dari integer. 4

53 Berikut ini Program Konversi Detik dalam bahasa Pascal: Program Konversi_Detik Const Satuhari = 60 * 60 * 24; Var Detik: longit; hr, jm, mn, dt: integer; Write ( masukkan waktu (dalam detik): ); Readln(detik); Writeln(detik, detik terdiri dari ); hr := detik div satuhari; detik := detik hr * satuhari; jm := detik div 3600; detik := detik jm * 3600; mn := detik div 60; dt := detik mn * 60; Writeln(hr, hari ); Writeln(jm, jam ); Writeln(mn, menit ); Writeln(dt, detik ); End. Keluaran program di atas adalah sebagai berikut: Masukkan waktu (dalam detik) : detik terdiri dari: 1 hari 5

54 3 jam 46 menit 40 detik 2. Dibaca nama karyawan dan gaji pokok bulanannya. Gaji bersih yang diterima pegawai adalah: gaji bersih = gaji pokok + tunjangan pajak Tunjangan karyawan dihitung 20% dari gaji pokok, sedangkan pajak adalah 15% dari gaji pokok ditambah tunjangan. Nama karyawan dan gaji bersihnya dicetak ke piranti keluaran. Tuliskan algoritmanya. Jawab: Tunjangan = 0.2 * gaji pokok Pajak = 0.15 * (gaji pokok + tunjangan) Gaji bersih = gaji pokok + tunjangan pajak Dari ketentuan di atas kita dapat tuliskan algoritma sebagai berikut: Algoritma Gaji_Karyawan Deklarasi Nama : string GaPok, Tunjangan, GaBer : real Deskripsi Read (Nama, GaPok) Tunjangan 0.2 * GaPok Pajak 0.15 * (GaPok + Tunjangan) GaBer GaPok + Tunjangan Pajak Write(nama, GaBer) Berikut ini program menghitung Gaji Karyawan yang dituliskan dalam bahasa Pascal: Program Mengitung_Gaji_Karyawan; 6

55 Var Nama : string[25]; Gapok, tunjangan, gaber : real; Write( Masukkan Nama Karyawan : ); Readln(nama); Write( Masukkan Gaji Pokok : ); Readln (gapok); Tunjangan := 0.2 * gapok; Pajak := 0.15 (gapok + tunjangan); Gaber := gapok + tunjangan pajak; Writeln( Gaji Bersih :, gaber:7:2); End. Jika Program dijalankan maka keluaran dari program adalah sebagai berikut: Masukkan Nama Karyawan : Yahya Masukkan Gaji Pokok : Gaji Bersih : Buatlah program untuk mencari nilai jam, menit, detik dari total detik yang dimasukkan Tampilan program sbb: Masukkan Total detik: jam 6 menit 40 detik Algoritma mendapatkan Jam Menit dan Detik Deklarasi jj, mm, dd: integer Detik, sisa: long Integer Deskripsi Read (Detik) jj detik div 3600 sisa detik mod 3600 mm sisa div 60 7 dd sisa mod 60 Write(jj, mm, dd)

56 Latihan: 1. Buatlah Algoritma dalam bentuk pseudocode dan tuliskan kode programnya dalam bahasa Pascal untuk menukar dua buah bilangan. Pada algoritma tersebut tidak diperkenankan menukar nama variabel saja tetapi nilai kedua variabel tersebut yang dipertukarkan. Jika program tersebut dijalankan maka hasil tampilan adalah sebagi berikut: Masukkan Nilai 1= 10 Masukkan Nilai 2= 35 Penukaran nilai... Nilai 1= 35 Nilai 2= Buatlah Algoritma dalam bentuk flowchart dan program dalam Pascal untuk menampilkan operasi aritmatika dari 2 buah bilangan bulat yang di-input 8

57 3. Buatlah Algoritma dalam bentuk flowchart dan program dalam Pascal untuk menampilkan operasi relasional dari 2 buah bilangan bulat yang di-input 4. Buatlah Algoritma dalam bentuk flowchart dan program dalam Pascal untuk menampilkan operasi Logika dan Manipulasi-Bit dari 2 buah bilangan bulat yang diinput. Daftar Pustaka Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

58 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi PERCABANGAN Bentuk Percabangan. Memahami struktur kendali Proses percabangan 1

59 Percabangan Kondisi merupakan hal yang menentukan didalam mengambil keputusan mengenai tindakan yang diambil. Didalam pemrograman kondisi dikenal dalam bentuk IF, CASE ataupun yang setara. 6.1 Pernyataan If Adapun pernyataan yang pertama berbentuk : IF kondisi(-kondisi) yang harus dipenuhi Pernyataan Pernyataan Bagan alurnya adalah sebagai berikut : Kondisi True (benar) False (Salah) Pernyataan Pada bentuk if, pernyataan hanya akan dijalankan kalau kondisi bernilai benar. Yang terpenting dari bagan alur diatas adalah kondisinya. Kondisilah yang menentukan apakah sebuah pernyataan program akan dieksekusi atau tidak Contoh pseudocode dari bentuk pernyataan if adalah : Variabel : Suhu : bilangan nyata Mulai Masukkan suhu tubuh pada variable suhu Jika Suhu > 37 maka nyatakan panas Selesai 2

60 Pernyataan tersebut bisa dterjemahkan kedalam bahasa pemrograman dibawah ini : C++ Include <iostream.h> void main (void) { float suhu; cout << Masukkan Suhu : ; cin >> suhu; if (suhu > 37) { cout << Panas ;} cout << Selesai } Pascal Var Suhu : Real; Write ( Masukkan Suhu : ); Readln(Suhu); If Suhu > 37 then writeln( Panas ); Writeln( Selesai ) End. Pada pernyataan diatas Panas tidak selalu ditampilkan tergantung kepada nilai yang dimasukkan oleh user. Tetapi pernyataan Selesai akan selalu ditampilkan karena tidak tergantung kepada kondisi if. 6.2 Pernyataan If...Else Pernyataan if..else digunakan untuk menguji sebuah kondisi. Bila kondisi yang diuji terpenuhi, program akan menjalankan pernyuataan-pernyataan tertentu; dan bila kondisi yang diuji salah, program akan menjalankan pernyatan-pernyataan yang lain. Bentuk umum pernyataan if..else adalah sebagai berikut: IF ELSE Pernyataan Pernyataan Kondisi sendiri merupakan suatu ekspresi bertipe boolean, artinya hanya dapat bernilai benar (true) atau salah (false). 3

61 Bagan alurnya adalah sebagai berikut : Kondisi True (benar) False (Salah) Pernyataan Pernyataan Pada bentuk ini : 1. Pernyataan sesudah if akan dieksekusi kalau kondisi bernilai benar 2. Pernyataan sesudah else akan dieksekusi kalau kondisi bernilai salah Sebagai contoh diinginkan tampilan : 1. Suhu tinggi jika bernilai lebih dari Suhu tidak tinggi kalau kurang atau sama dengan 37 Maka contoh pseudocodenya adalah sebagai berikut : Variabel : Suhu : bilangan nyata Mulai Masukkan suhu tubuh pada variable suhu Jika Suhu > 37 maka nyatakan panas Selain itu nyatakan tidak panas Selesai Pernyataan tersebut bisa diterjemahkan kedalam bahasa pemrograman dibawah ini : 4

62 C++ Include <iostream.h> void main (void) { float suhu; cout << Masukkan Suhu : ; cin >> suhu; if (suhu > 37) { cout << Panas ;} else { cout << Tidak Panas ;} cout << Selesai } Pascal Var Suhu : Real; Write ( Masukkan Suhu : ); Readln(Suhu); If Suhu > 37 then writeln( Panas ) Else WriteLn( Tidak Panas ) Writeln( Selesai ) End. 6.3 Pernyataan if..else if Dalam kasus-kasus tertentu, sebuah konstruksi if dan else dapat terdapat bentuk bersarang (nested). Bentuk bersarang merupakan contoh bentuk dari sebuah atau beberapa buah pernyataan if dan else yang terdapat didalam bentuk if dan else yang lainnya. Nested IF dan ELSE merupakan pernyataan yang lebih rumit dibandingkan dengan pernyataan IF dan ELSE sederhana. Berikut ini adalah contoh bentuk pernyataan tersebut : Jumlah Buku >=50 Ya Diskon 20 % tidak Jumlah Buku >= 35 Ya Diskon 15 % tidak Jumlah Buku >= 20 Ya Diskon 10 % 5

63 tidak n menggunakan nested if adalah sebagai berikut : Tidak ada Bahasa Diskon C++ Bahasa Pascal 6

64 #include <iostream.h> void main(void) { int Jumlah_Buku; float harga; cout << Jumlah Buku: << endl ; cin >> Jumlah_Buku; if (Jumlah_Buku >= 50) { harga= Jumlah_Buku * 0.8 * 2500; cout<< Total harga: << harga; } else { if (Jumlah_Buku >= 35) { harga= Jumlah_Buku * 0.85 * 2500; cout<< Total harga: << harga; } else { if (Jumlah_Buku >= 20 { harga= Jumlah_Buku * 0.9 * 2500; cout << Total harga: << harga; } else { harga= Jumlah_Buku * 2500; cout<< Total Harga: << harga; } } } } 6.4 Pernyataan Case Var Jumlah_Buku : integer; Harga_Buku : real; Write ( Jumlah Buku = ); ReadLn(Jumlah_Buku); IF Jumlah_Buku >= 50 then Harga:= Jumlah_Buku * 0.8 * 2500; WriteLn( Total Harga=, Harga); End; Else IF Jumlah_Buku >= 35 then Harga:= Jumlah_Buku * 0.85 * 2500; WriteLn( Total Harga=, Harga); End; Else IF Jumlah_Buku >= 20 Harga:= Jumlah_Buku * 0.9 * 2500; WriteLn( Total Harga=, Harga); End; Else Harga:= Jumlah_Buku * 2500; WriteLn( Total Harga=, Harga); End; End. 7

65 Pernyataan Case digunakan untuk menyederhanakan konstruksi if..else if yang terlalu banyak. Sebagai contoh, program berikut: If ( x = 0) then Writeln( X bernilai 0 ) Else if (x = 1) then Writeln( X bernilai 1 ) Else if (x = 2) then Writeln( X bernilai 2 ) Else if (x = 3) then Writeln( X bernilai 3 ) Else Writeln( X tidak bernilai 0, 1, 2, ataupun 3 ); Dapat diganti menjadi lebih ringkas dan mudah dibaca dengan program berikut: Case x of 0 : Writeln( X bernilai 0 ); 1 : Writeln( X bernilai 1 ); 2 : Writeln( X bernilai 2 ); 3 : Writeln( X bernilai 3 ); else Writeln( X tidak bernilai 0, 1, 2, ataupun 3 );; End; Jika dilihat pada contoh di atas bahwa meskipun hasil dari kedua program tersebut sama tetapi penulisan dengan case lebih mudah dibaca. Contoh-contoh soal: 1. Tulislah algoritma dan program yang menampilkan Genap jika suatu bilangan adalah bilangan genap atau Ganjil jika bilangan tersebut adalah bilangan ganjil. Nilai masukan adalah bilangan bulat, yaitu x, dimana 0 x keluaran dari program ini adalah Bilangan Genap atau Bilangan ganjil. Jawab: Suatu bilangan dikatakan bilangan genap jika habis dibagi 2. dengan demikian algoritma pengecekan bilangan genap atau ganjil dapat dituliskan sebagai berikut: 8

66 1. Masukkan x. 2. jika (x habis dibagi 2 ) maka kerjakan baris 3; jika tidak kerjakan baris tulis Bilangan genap. Selesai. 4. tulis Bilangan ganjil. Selesai. Contoh program dalam Pascal untuk mengecek suatu bilangan termasuk bilangan ganjil atau genap: Var x: word; begin write ( Masukkan suatu bilangan bulat sembarang: ); readln(x); if (x mod 2 = 0) then writeln ( Bilangan genap ) else writeln ( Bilangan ganjil ); end. Keluaran dari program tersebut adalah sebagai berikut: Masukkan suatu bilangan bulat sembarang: 25 Bilangan ganjil Masukkan suatu bilangan bulat sembarang: 4 Bilangan genap 2. Tulislah algoritma dan program yang meminta masukan bilangan bulat dari pengguna. Jika pengguna memasukkan 0, program menampilkan Minggu ; jika pengguna memasukkan 1, program menampilkan Senin, dan seterusnya sampai dengan Sabtu. Jika pengguna memasukkan nilai di luar jangkauan 0 sampai dengan 6, program menuliskan Hari tidak Valid. Jawab: Algoritma untuk menampilkan hari dapat dituliskan sebagai berikut: 1. Masukkan x. 9

67 2. Jika (x = 0) Tulis Minggu. Selesai. 3. Jika (x = 1) Tulis Senin. Selesai. 4. Jika (x = 2) Tulis Selasa. Selesai. 5. Jika (x = 3) Tulis Rabu. Selesai. 6. Jika (x = 4) Tulis Kamis. Selesai. 7. Jika (x = 5) Tulis Jumat. Selesai. 8. Jika (x = 6) Tulis Sabtu. Selesai. 9. Tulis Hari tidak Valid Jika ditulis dalam program Pascal sebagai berikut: Var x : byte; begin write ( Masukkan bilangan bulat (0 6): ); readln (x); case (x) of 0: writeln ( Minggu ); 1: writeln ( Senin ); 2: writeln ( Selasa ); 3: writeln ( Rabu ); 4: writeln ( Kamis ); 5: writeln ( Jumat ); 6: writeln ( Sabtu ); else writeln ( Hari tidak Valid ); end; end. Keluaran dari program di atas adalah sebagai berikut: Masukkan bilangan bulat (0 6) : 5 Jumat 10

68 Latihan: Buatlah Flowchart dan program dalam bahasa Pascal atau C++ untuk meminta masukan berupa nama, nim, absen, nilai tugas, nilai uts dan nilai uas. Berdasarkan, absen, nilai tugas, nilai uts dan nilai uas tersebut hitunglah nilai akhir mahasiswa tersebut dengan menggunakan formula sebagai berikut: Nilai akhir = 10% absen + 20% tugas + 30% uts + 40% uas Hasil keluaran yang diharapkan adalah sbb: Nama = Yulia NIM = Absen = 70 Tugas = 85 UTS = 70 UAS = 50 Yulia mendapatkan Nilai akhir = 65 dan Nilai huruf C 11

69 Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

70 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Perulangan Bentuk Perulangan Memahami Struktur Kendali Proses Perulangan 1

71 Perulangan Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. Proses yang berulang adalah suatu urut-urutan pernyataan yang akan dieksekusi terus menerus selama kondisi yang disyaratkan terpenuhi. Pengulangan proses merupakan suatu kemampuan yang dimiliki oleh semua compiler bahasa pemrograman. Terdapat banyak jenis pengulangan proses, tetapi paling tidak akan dibahas dua buah bentuk jenis pengulangan : 1. FOR. Pengulangan dengan besarnya nilai integer sebagai kondisi (biasanya berbentuk for) 2. WHILE. Pengulangan dengan kondisi pernyataan boolean (biasanya berbentuk while) Gambaran Flowchart dari perulangan adalah sebagai berikut : Kondisi = nilai awal Kondisi = Nilai Akhir Pernyataan ; Pernyataan ; Kondisi di increment 7.1 Pernyataan for Pernyataan dengan FOR biasanya digunakan untuk pernyataan yang sudah ditentukan jumlah pengulangannya. 2

72 FOR dengan kondisi numerik yang menaik. Pada looping yang berbentuk seperti ini terdapat pernyataan increment atau penambahan yang berbentuk sebagai berikut : Kondisi = Kondisi + n, dimana n adalah bilangan yang bernilai positif. Bentuk umum pernyataan for dalam bahasa Pascal adalah sebagai berikut: FOR pencacah := nilai awal TO nilai akhir do { pernyataan-pernyataan yang akan diulang } end; Contoh dari pernyataan for dalam bahasa C/C++ diperlihatkan pada contoh berikut : #include <iostream.h> void main(void) { for (int j = 1 ; j < = 4 ; j = j+1) { cout << I<<endl; } } Contoh dari pernyataan for dalam bahasa pascal diperlihatkan pada contoh berikut : Program Perulangan1; Var I : integer; {* I adalah variabel kontrol *} For I := 1 to 4 do WriteLn (I); End; End. Output dari kedua program tersebut adalah :

73 Perhatikanlah didalam pengulangan dengan for pernyataan yang berada didalam loop akan dieksekusi sampai kondisi loop tersebut tidak terpenuhi. Contoh 2 dalam bahasa Pascal : Program Konversi_Celcius_Fahrenheit2; Var x : integer; { x adalah variabel kontrol} C, F : real; Writeln ( ); Writeln ( Celcius Fahrenheit ); Writeln ( ); C := 0; For x := 1 to 10 do F := 1.8 * C + 32; Writeln (C:8:2, F:14:2); statemen C := C ; End; Writeln ( ); End. Contoh 2 dalam bahasa C : #include <iostream.h> void main(void) { int x; float C, F; cout << ; cout << Celcius Fahrenheit ; cout << ; C := 0; for (x = 1; x <= 10; x++) { F := 1.8 * C + 32; 4

74 cout << C << << F; C := C ; } cout << ; End. 7.2 Pernyataan for bersarang Pernyataan for dapat dituliskan di dalam pernyataan for lagi. Hal semacam ini sering disebut dengan pernyataan for bersarang. Perhatikan contoh berikut: For x := 1 to 3 do For y:= 1 to 2 do Writeln (x, y); Kalang/looping for yang luar (dengan pencacah variable x) akan menjalankan kalang yang dalam (dengan pencacah y) sebanyak 3 kali. Dan pada setiap pengulangan di layar akan dituliskan nilai x dan y. Berikut ini adalah keluaran dari program di atas: Pada saat x bernilai 1, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 1 1 dan 1 2. demikian juga pada saat x bernilai 2, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 2 1 dan 2 2. hal yang sama terjadi pada saat x bernilai Pernyataan while Pernyataan pengulangan ini biasanya digunakan bila belum diketahui pasti berapa banyak akan dilakukan pengulangan pernyataan-pernyatan. Berakhirnya pengulangan ini ditentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi, pengulangan akan terus dilakukan. Perulangan ini mempunyai struktur sbb : While Ungkapan_Logika do statemen 5

75 Bentuk umum pernyataan pengulangan while dalam Pascal adalah sebagai berikut: While kondisi do { pernyataan-pernyataan yang akan diulang } end; kondisi sendiri merupakan suatu ekspresi boolean, artinya hanya dapat bernilai benar (true) atau salah (false). Contoh berikut adalah contoh dalam bahasa PASCAL : Var End. I : integer; I := 0; While I < 15 do Writeln (I); I := I + 1; End; Statement Ungkapan logika Program yang sama jika dituliskan dalam bahasa C akan berbentuk sebagai berikut : #include <iostream.h> void main(void) { int j; j = 0; while j < 15 do { cout << j ; j = j + 1; } } Ungkapan logika 6

76 Berikut ini adalah contoh dalam bahasa pascal untuk menghitung rata-rata suatu series data yang dimasukkan oleh user. Program Menghitung_TotalNilai_JumlahData_RataRata; Uses Crt; Var Nilai, Total, RataRata : real; N,I : integer; Clrscr; {*** Memasukkan jumlah dari data ***} write ( Jumlah data? ); readln (N); writeln ; {Memasukkan Nilai data dan langsung dihitung totalnya} I := 0; Total := 0; While I < N do I := I + 1; Write ( Nilai data ke,i,? ); Readln (Nilai); Total := Total + Nilai; End; {*** Menghitung nilai rata-ratanya ***} RataRata := Total/N; {*** Menampilkan hasil ***} writeln; writeln ( Total nilai =,Total:8:2); writeln ( Jumlah data =,N:3); writeln (Rata-rata nilai =,RataRata:8:2); end. 7.4 Penyataan repeat..until 7

77 Pernyataan pengulangan ini hampir sama dengan pernyataan pengulangan while, dan biasanya digunakan bila jumlah pengulangan belum dapat ditentukan pada saat program ditulis. Struktur repeat..until digunakan untuk mengulang (repeat) statemen atau blok statemen sampai (until) kondisi yang diseleksi pada until tidak terpenuhi. Sintaks dari struktur ini adalah : Repeat statemen ; until ungkapan Contoh : Var End. I : integer; I := 10; Repeat Writeln (I); I := I + 1; Until I > 5 ungkapan Perbedaan pernyataan repeat..until dan while terletak pada pengecekan kondisi. Jika pada pernyataan while, kondisi dicek pada awal kalang, pada pernyataan repeat..until, kondisi dicek pada akhir kalang. Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat..until mengulang pernyataan selama kondisi belum terpenuhi. 8

78 Soal Latihan : kerjakan berkelompok, gunakan perulangan if.. atau for 1. Buat Flowchart dan Program C++ untuk mencetak deret aritmatika : Sampai 10 suku dan jumlah deret tersebut. 2. Buat Flowchart dan Program C++ untuk mencetak deret geometri : Sampai 10 suku dan jumlah deret tersebut. 3. Buat Flowchart dan Program C++ untuk mencetak deret kuadrat : Sampai 10 suku dan jumlah deret tersebut. 4. Buat Flowchart dan Program C++ untuk mencetak deret kubik :

79 Sampai 10 suku dan jumlah deret tersebut. 5. Buat Flowchart dan Program C++ untuk mencetak deret bilangan: Sampai 10 suku dan jumlah deret tersebut. 6. Buat Flowchart dan Program C++ untuk mencetak deret bilangan: Sampai 10 suku dan jumlah deret tersebut. 7. Buat Flowchart dan Program C++ untuk mencetak deret bilangan: Sampai 10 suku dan jumlah deret tersebut. Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Indra Yatini B, Flowchart, Algoritma, dan Pemrograman Menggunakan Bahasa C++ Builder, Graha Ilmu, Yogyakarta, Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

80 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Fungsi Standar Input - Output Memahami Fungsi Standar Pascal Dan Penggunaan Input Output 1

81 Fungsi Standar dan Input Output 8.1 Fungsi Standar Bahasa Pemrograman Pascal memiliki beberapa fungsi matematika standar yang dapat digunakan dalam operasi matematika. Sebagai contoh untuk mencari nilai sin dari sudut pi dalam fungsi trigonometri value := sin ( ); Fungsi Standar dapat digunakan dengan cara menuliskan nama fungsinya, setelah itu diikuti dengan argumen dalam tanda kurung. Fungsi-fungsi standard yang disediakan Pascal antara lain : Nama Fungsi Deskripsi Tipe Argumen Tipe nilai yang dikembalikan abs absolute value real or integer same as argument type arctan arctan in radians real or integer real cos cosine of a radian measure real or integer real exp e to the given power real or integer real ln natural logarithm real or integer real round round to nearest integer Real integer sin sin of a radian measure real or integer real sqr square (power 2) real or integer same as argument type sqrt square root (power 1/2) real or integer real trunc truncate (round down) real or integer integer Untuk tipe data ordinal (integer atau char), yaitu tipe data yang memiliki urutan awal (predecessor) dan urutan akhir (successor), maka fungsi antara lain : 2

82 Fungsi Deskripsi Tipe Argumen Nilai yang dikembalikan chr character with given ASCII value integer char ord ordinal value integer or char integer pred predecessor integer or char succ successor integer or char same as argument type same as argument type Real bukan merupakan tipe data ordinal, karena tipe real tidak memiliki predecessor maupun successor yang unik. Sebagai contoh berapa successor dari 56.0? maka jawaban yang mungkin antara lain Sedangkan untuk tipe data integer, memiliki predecessor ataupun successor yang unik. Contohnya bilangan 56 memiliki predecessor 55 dan successor 57. Demikian juga dengan karakter. Contohnya predecessor karakter b adalah a dan successornya adalah c Pungtuasi dan Indentasi Pada pascal setiap akhir dari pernyataan program harus menggunakan pungtasi, dalam hal ini menggunakan tanda titik koma ( ; ). Bagian-bagian yang harus menggunakan tanda tersebut antara lain : 1. Kepala Program 2. Setiap kali mendefinisikan kontanta. 3. Setiap kali mendefinisikan variabel 4. Setiap kali mendefinisikan tipe 5. Semua pernyataan dalam tubuh program. Satu baris sebelum baris terakhir yakni sebelum END, tidak harus menggunakan tanda titik koma. 3

83 Indentasi memang tidak menjadi keharusan dalam membuat program. Namun dengan indentasi akan memudahkan programmer untuk membaca dan memperbaiki program. Perhatikan bila Anda harus membaca kode program seperti ini : program Contoh; const a=5; b=385.3; var alpha,beta:real; begin alpha := a + b; beta:= b / a end. Anda akan lebih sulit untuk memahami kode program tersebut. Akan tetapi perhatikan bila kode program tersebut ditulis dalam bentuk seperti dibawah ini : program Contoh; const a = 5; b = 385.3; var alpha, beta : real; begin (* main *) alpha := a + b; beta := b / a end. (* main *) Anda akan jauh lebih mudah untuk memahami kode program tersebut. Inilah sebab mengapa identasi penulisan dalam membuat kode program sangat diperlukan. Hal lain yang juga harus dibiasakan dalam membuat kode program adalah mengggunakan komentar (keterangan) untuk menyampaikan maksud dari kode tersebut. 8.2 Input Output Ada beberapa cara untuk membaca atau menampilkan data pada layar. Seperti Read dan Readln untuk membaca input dari keyboard, atau write dan Writeln untuk menampilkan data di layar Input Input adalah membaca data dari keyboard, mouse atau disk untuk disimpan didalam memory. Format untuk membaca input melalui keyboard adalah sebagai berikut : Read (Varibel_list); Variabel_List adalah serangkaian variabel yang dipisahkan dengan menggunakan koma. Read akan menghentikan program dan menunggu user memasukkan data. Data akan disimpan ke 4

84 dalam variabel_list setelah itu kursor tetap berada pada baris yang sama, tidak pindah ke baris yang baru. Perintah lainnya yang digunakan untuk memasukkan input dari keyboad adalah dengan menggunakan perintah berikut: Readln (Variabel_List); Readln ini pun akan meminta user memasukkan input, dan kursor akan berpindah ke baris baru. Perhatikan contoh berikut! Misalnya User memasukkan input seperti dibawah ini, dan a, b, c dan d semuanya adalah bilangan integer Pernyataan a b c d read (a); read (b); readln (a); read (b); read (a, b, c, d); readln (a, b); readln (c, d); Pada contoh diatas terlihat bahwa dengan perintah read, kursor tidak berada pada baris selanjutnya, sedangkan dengan perintah readln, kursor akan berada pada baris selanjutnya. Pada saat membaca tipe data integer, perintah readln akan mengabaikan spasi sampai menemukan bilangan integer. Demikian pula dengan tanda koma, jika yang dibaca adalah tipe data integer, maka akan diabaikan pula. Sebagai contoh ketika membaca nilai , maka akan dibaca sebagai Hal yang sama juga pada saat membaca tipe data real, perintah read/readln akan mengabaikan spasi sampai menemukan angka berikutnya. Untuk tipe data real seperti harus ditulis lengkap, tidak boleh hanya menuliskan.678 Untuk tipe data konstanta tidak dapat diberi nilai, baik itu angka ataupun karakter Output Untuk menampilkan data pada layar, Pascal mempunyai dua perintah yaitu : write (Argument_List); writeln (Argument_List); 5

85 Setelah data ditampilkan, perintah writeln akan langsung pindah ke baris baru. Argument_List dapat berupa konstanta atau variabel. Jika ingin menampilkan string, maka harus menggunakan tanda kutip ( ) pada kedua sisinya. Format Output Pada Pascal melakukan format untuk menampilkan output sangat mudah. Untuk setiap identifier atau literal pada argumen_list, format yang digunakan adalah Value : field_width Jika lebar data melebihi field_width yang telah ditentukan, maka format field_width yang telah ditetapkan akan diabaikan. Contoh : write ('Hi':10, 5:4, 5673:2); maka output akan ditampilkan seperti dibawah ini : Hi Untuk tipe data real, format yang digunakan adalah sebagai berikut : Value : field_width : decimal_field_width Field_width adalah total lebar field, termasuk untuk desimal. Sedangkan decimal_field_width menyatakan banyaknya desimal yang akan ditampilkan. Perhatikan contoh dibawah ini : write ( :20:2); maka output yang akan ditampilkan adalah sebagai berikut : Pengaturan Letak di Layar Beberapa prosedur standar disediakan oleh Bahasa Pascal untuk mengatur tampilan di layar monitor,sehingga tampilan akan lebih baik Prosedur CLRSCR Prosedur standar ini digunakan untuk membersihkan layar dari tampilan-tampilan sebelumnya dan meletakan cursor di posisi ujung kiri atas dari layar. Prosedur standar ini bila digunakan harus menyebutkan terlebih dahulu unit standar Crt. Contoh: 6 Program tampil_clrscr; Uses crt;

86 End. Clrscr; Writeln( Belajar ); Output: Belajar Berada pada posisi ujung atas kiri Prosedur GOTOXY Prosedur standar ini digunakan untuk meletakkan cursor di posisi yang ditunjuk oleh X (posisi horizontal, kolom 1 sampai dengan kolom 80) dan Y (posisi vertikal, baris 1 sampai dengan baris 25). Prosedur standar ini harus melibatkan unit Crt. Contoh: Program tampil_gotoxy; Uses crt; Clrscr; gotoxy(10, 18); Writeln( Belajar ); End. Output: Baris 18 Belajar Kolom Prosedur CLREOL 7

87 Prosedur standar ini digunakan untuk menghapus semua karakter dalam satu baris disebelah kanan posisi cursor tanpa merubah posisi dari cursor. Prosedure standar ini harus melibatkan unit Crt. Contoh: Program tampil_clreol; Uses crt; Var x: integer; Clrscr; gotoxy(15, 15); Writeln( Masukkan Sebuah Bilangan Bulat: ); Readln(x); gotoxy(15,15); ClrEol; Write ( Terima Kasih!!! ); End. Output: Masukkan Sebuah Bilangan Bulat: 71 Baris 18 Kolom 10 Setelah nilai dimasukkan oleh pengguna maka posisi cursor akan diletakkan kembali ke posisi baris 18, kolom 10 dan isi dari baris tersebut dihapus dengan prosedur ClrEol, kemudian ditampilakan tampilan lain. Baris 18 Terima Kasih Kolom 10 Soal : 8

88 Buatlah Flowchart dan program C++ untuk menghitung jumlah dan Rata-rata dari lima buah bilangan, yaitu : (angka bisa diganti dan disesuaikan) Contoh bilangan : Gunakan tipe data konstanta untuk menyimpan banyaknya bilangan yang akan dihitung. Keluaran yang diinginkan adalah sebagai berikut : Jumlah bilangan = 5 Bilangan1 = 45 Bilangan2 = 7 Bilangan3 = 68 Bilangan4 = 2 Bilangan5 = 34 Jumlah = 156 Rata-rata = Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, Indra Yatini B, Flowchart, Algoritma, dan Pemrograman Menggunakan Bahasa C++ Builder, Graha Ilmu, Yogyakarta, Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

89 10

90 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Subprogram Prosedur Memahami subprogram Prosedur 1

91 Sub Program1 (PROSEDUR) 9.1. Konsep Dasar Sub Program Salah satu metode perancangan program yang baik adalah menggunakan konsep modular atau sering disebut dengan pemrograman modular. Dengan metode ini suatu masalah dipecah menjadi beberapa masalah yang lebih kecil (ke dalam modul-modul). Dengan membagi masalah menjadi beberapa modul, maka masalah tersebut akan menjadi lebih sederhana, sehingga program dapat lebih mudah disusun dan dipahami. Dalam bahasa Pascal sub program terbagi dua jenis yaitu prosedur dan fungsi. Manfaat lain dari pemrograman modular adalah software reusabilty. Subprogram yang dibuat satu kali diharapkan dapat digunakan oleh program lain, sehingga penulisan program (proses pengkodean) lebih efektif. Jika Program yang Anda buat sudah terlalu panjang, sebaiknya dipecah menjadi beberapa bagian (modul). Untuk membuat modul, Pascal menyediakan dua pilihan, yaitu: PROCEDURE FUNCTION Keuntungan menggunakan modul: 1. Rancangan top-down dengan pendekatan divide-and-conquer, program besar dapat dibagi menjadi modul-modul yang lebih kecil; 2. Dapat dikerjakan oleh beberapa orang dengan koordinasi yang lebih mudah; 3. Mencari kesalahan relatif lebih mudah karena alur logika lebih jelas, dan kesalahan dapat dilokalisasi dalam satu modul; 4. Modifikasi dapat dilakukan tanpa mengganggu program secara keseluruhan; 5. Mempermudah dokumentasi. Sifat-sifat modul yang baik adalah: Fan-in yang tinggi: makin sering suatu modul dipanggil oleh pengguna makin tinggi nilai fanin. Fan-out yang rendah: makin sedikit (spesifik) tugas yang dilakukan oleh suatu modul, makin rendah nilai fan-out. 2

92 Self-contained: kemampuan memenuhi kebutuhannya sendiri Prosedur Berguna untuk mengumpulkan statemen2 yang dapat dijalankan menjadi satu dalam suatu blok dan untuk menjalankannya kembali hanya dengan menuliskan nama procedure yang menampungnya. Untuk mendeklarasikan procedure dapat dilakukan dengan dua cara, yaitu : 1. Header Procedure Tanpa Parameter B.U : Contoh : Procedure <NamaProcedure>; Procedure BuatKotak; Procedure Input; Procedure Output; Struktur Blok Program : Program Procedure.... End; <NamaProgram>; <Nama Procedure>; Contoh Program : Program Hitungtanpaparameter ; Var p, q, x, y : byte ; Procedure TambahKali; p : = x + y ; q : = x * y ; WriteLn ( X + Y =, p ) ; WriteLn ( X * Y =, q ); End ; Write ( X = ) ; ReadLn (x) ; Write ( Y = ) ; ReadLn (y); TambahKali;{untuk menjalankan procedure TambahKali} End. Output : X = 2 Y = 3 X + Y = 5 X * Y = 6 3

93 2. Header Procedure Dengan Parameter B.U : Procedure <NamaProcedure> (<Daftar Parameter>; Contoh : Procedure Hitung ( a, b : byte ; c : real) ; Procedure Lingkaran ( x, y, jari : integer ) ; Struktur Blok Program : Program Procedure.. End; <NamaProgram>; Contoh Program : Program Hitungdenganparameter ; Var p, q, x, y : byte ; Procedure TambahKali ( a,b : byte ); p : = a + b ; q : = a * b ; WriteLn ( X + Y =, p ) ; WriteLn ( X * Y =, q ); End ; { main program } Write ( X = ) ; ReadLn (x) ; Write ( Y = ) ; ReadLn (y); TambahKali ( x, y ) ; End. Output : X = 2 Y = 3 X + Y = 5 X * Y = 6 Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub program. Prosedur diawali dengan kata Procedure didalam bagian deklarasi prosedur. 4

94 Prosedur dipanggil dan digunakan didalam blok program yang lainnya dengan menyebutkan judul prosedurnya. Bentuk umum penulisan prosedur dalam sebuah program: Program judul_program; Procedure judul_procedure;.instruksi end;... end. Prosedur memiliki struktur yang sama dengan program, yaitu : procedure Name; const (* Constants *) var (* Variables *) begin (* Statements *) end; Perhatikan pada bagian akhir prosedur, terlihat setelah END tidak menggunakan titik, tapi tanda titik koma. Ini menandakan bahwa bagian tersebut bukan akhir suatu program. Untuk memanggil program, dapat dilakukan dengan cara menuliskan nama porsedur : Nama_procedure; 5

95 9.3. Parameter dalam Prosedur Nilai didalam suatu program Pascal sifatnya lokal, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yag lainnya. Perhatikan contoh dibawah ini : Program 9.1 Program 9.2 Procedure Tanya_hitung1; Var X, Y: Real; Write ( Nilai X? ); Readln(X) Y := X * X; End; Tanya_hitung1; Writeln ( Nilai Y =, Y:6:2) End. Procedure Tanya_hitung2; Var X, Y: Real; Write ( Nilai X? ); Readln(X) Y := X * X; Writeln ( Nilai Y =, Y:6:2) End; Tanya_hitung2; End. Program 9.1 adalah salah, karena modul utama menggunakan variabel lokal suatu prosedur. Bandingkan dengan program 9.2. Jika program 9.2 dijalankan maka hasil program adalah sebagai berikut: Nilai x? 3.0 Nilai Y= 9.00 Supaya nilai-nilai variabel dapat digunakan di modul lainnya yang membutuhkannya, maka dapat dilakukan dengan beberapa cara, yaitu : 1. Dibuat bersifat global Supaya suatu nilai dapat bersifat global, maka harus dideklarasikan diatas modul yang menggunakannya 6

96 Contoh : Var A, B : Integer; Procedure Satu; Readln(A); Readln(B); End; Procedure Dua; B:= A+1 End Satu; Writeln (A); Dua Writeln (B); End. Pada contoh diatas, variabel A dan B bersifat global untuk semua modul yaitu untuk prosedur SATU dan DUA, sehingga dapat digunakan untuk semua modul itu. 2. Dikirimkan sebagai parameter ke modul yang membutuhkannya. 7

97 Parameter yang dikirimkan dari modul utama ke modul prosedur disebut dengan parameter nyata (actual prameter) dan parameter yang ada dan dituliskan pada judul prosedur disebut dengan parameter formal (formal parameter). Proses pengiriman data lewat parameter nyata ke parameter formal disebut dengan passing parameter. Parameter nyata dan parameter formal harus dengan tipe yang sama. Pada bahasa Pascal pengiriman parameter dapat dikirimkan secara nilai (by Value) atau secara acuan (by Reference). Sintak penulisan prosedur dengan parameternya adalah : procedure Name (formal_parameter_list); Parameter list terdiri dari sekumpulan parameter yang dipisahkan dengan tanda titik dua. param_group_1; param_group_2;... ; param_group_n Setiap parameter mempunyai bentuk identifier_1, identifier_2,..., identifier_n : data_type Perhatikan contoh dibawah ini : procedure Name (a, b : integer; c, d : real); begin a := 10; b := 2; writeln (a, b, c, d) end; Asumsikan prosedur diatas dipanggil di program utama alpha := 30; Name (alpha, 3, 4, 5); Pada saat kembali ke program utama, berapakah nilai variabel alpha? Apakah bernilai 30 atau 10? Untuk menjawab pertanyaan diatas, maka perlu diketahui cara pengiriman parameternya apakah secara nilai (by value) atau secara acuan (by reference). 8

98 9.4. Pengiriman Parameter secara Nilai (by value) Bila parameter dikirim secara nilai, parameter formal di prosedur akan berisi nilai yang akan dikirimkan yang kemudian bersifat lokal di prosedur. Bila nilai parameter formal di prosedur tersebut berubah, tidak akan mempengaruhi nilai parameter nyata (nilai parameter nyata tetap, tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang tidak dikirim balik dari parameter formal ke parameter nyata. Pengiriman parameter secara nilai ini juga dapat dikatakan dengan menyalin (copy) nilai variabel dan nilai itu diberikan ke variabel parameter. Prosedur bekerja pada salinan variabel, sehingga tidak mengubah parameter aktualnya. Contoh: Procedure tukar(a, B: integer); Var C: integer; C:= A; A:= B; B:= C; Writeln ( Nilai pertama =,A); Writeln( Nilai Kedua =, B); End; Var x,y : integer; x:= 10; y:= 15; tukar(x,y); writeln( x =, x, y =,y); end. 9

99 Hasil program: Nilai pertama = 15 Nilai Kedua = 10 x= 10 y=15 Berdasarkan program di atas nilai dari x diberikan kepada A dan nilai dari y diberikan kepada B. Nilai yang dipertukarkan adalah nilai A dan B yang terjadi di dalam prosedur tukar, sedangkan nilai x dan y yang berada di program utama tetap Pengiriman Parameter secara Acuan (by reference) Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan memperngaruhi nilai parameter nyata. Parameterparameter ini disebut dengan variabel parameter serta dideklarasikan di deklarasi prosedur dengan menggunakan kata cadangan Var, Berikut format penulisannya: Procedure nama_procedure (VAR identifier1, identifier2,., identifier3: tipe data) Identifier konstanta dan literal tidak dapat digunakan dalam parameter, karena kedua identifier tersebut tidak dapat berubah nilainya. Contoh: Procedure tukar_acuan(var A, B: integer); Var C: integer; C:= A; A:= B; B:= C; Writeln ( Nilai pertama =,A); Writeln( Nilai Kedua =, B); End; Var x,y : integer; x:= 10; y:= 15; tukar_acuan(x,y); writeln( x =, x, y =,y); end. 10

100 Hasil program: Nilai pertama = 15 Nilai Kedua = 10 x= 15 y=10 Berdasarkan program di atas terlihat bahwa pengiriman parameter secara acuan merupakan pengiriman dua arah, bolak-balik, sehingga perubahan nilai di parameter formal akan mempengaruhi nilai pada parameter nyata juga. Pada contoh di atas nilai dari variabel A dan B yang telah dipertukarkan mempengaruhi nilai x dan y, sehingga nilai x dan y menjadi tertukar pula Tipe Parameter Formal Tipe parameter formal yang dapat digunakan adalah berupa variabel atau konstanta. Tipe data sederhana seperti integer, byte, real, char dan Boolean dapat langsung dipergunakan. Sedangkan tipe data kompleks seperti string, array dan record tidak dapat langsung dipergunakan tetapi harus dideklarasikan terlebih dahulu menggunakan Type. Contoh untuk tipe data array: Type Nilai= array[1..100] of integer; Procedure Arrayku(a: Nilai); Contoh untuk tipe data string: Type Kata=string[25]; Procedure Panjang_Kata(Nama: Kata); Untuk pengiriman parameter string secara nilai, panjang parameter formal dan parameter nyata boleh tidak sama. Akan tetapi untuk untuk pengiriman parameter secara acuan panjang panjang string harus sama. Latihan 1. Buatlah program untuk mencari nilai faktorial dan pangkat tiga dari sebuah nilai yang berupa bilangan bulat yang dimasukkan oleh pengguna. Program tersebut terdiri dari prosedur untuk mencari faktorial dan prosedur untuk mencari nilai pangkat tiga. 11

101 2. Buatlah program Lingkaran, dimana program memiliki prosedur untuk mencari luas lingkaran dan prosedur menghitung keliling lingkaran. Pada saat prosedur tersebut dipanggil akan langsung menampilkan nilai dari masing-masing prosedur. Luas lingkaran= 3.14*r*r atau 3.14 * sqr (r) Keliling = 2 * 3.14 * r Buat program dengan menggunakan : 1. procedure (tanpa parameter dan dengan parameter) dan 2. Fungsi/function (tanpa parameter dan dengan parameter) Jawab: 1. Procedure Faktorial( n: Integer); Var i, Hasil: integer; Hasil:=1; If( n<=0) then Exit; For i:= 2 to n do Hasil:= hasil * i; Writeln(n, Faktorial =, Hasil); 12

102 End; Procedure Pangkat_Tiga(A: integer); Var Hasil:integer; Hasil:= A*A*A; Writeln(A, Pangkat Tiga =, Hasil); End; Var X: integer; Write( Masukkan Bilangan bulat : ); Readln(X); Faktorial(X); Pangkat_Tiga(X); End. 13

103 Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

104 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Subprogram Function Memahami subprogram Function 1

105 Sub Program2 (FUNCTION) Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah nilai yang bertipe sederhana (integer, real, Boolean, string). Sebagaimana halnya dengan prosedur, fungsi diakses dengan memanggil namanya. Selain itu fungsi juga dapat mengandung daftar parameter formal. Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Penulisannya adalah : Contoh : FUNCTION identifier(daftar parameter) : type; Function Faktorial(Var Fak, Hasil : integer) : integer; Function Pangkat(X,Y : real) : real; Blok fungsi sama dengan blok prosedur yang diawali dengan kata dan diakhiri dengan kata End dan titik koma. Berikut adalah Contoh : Function Hitung(Var A,B : integer) : integer; Hitung := A + B; End; Var X, Y : integer; Write( Nilai X? ); Readln(X); Write( Nilai Y? ); Readln(Y); Writeln; Writeln(X, +,Y, =,Hitung(X,Y)); End. Bila program dijalankan : Nilai X? 2 Nilai Y? = 5 2

106 Function tidak hanya dapat dipakai untuk mengelompokkan baris2 perintah seperti halnya procedure, tetapi Function juga dapat menampung nilai yang disimpan pada nama Function. Penulisan Header Function dapat dilakukan dengan 2 cara, yaitu : Header Function Tanpa Parameter B.U : Function <NamaFunction> : TipeData; Contoh : Function Hitung : Integer ; Function Nama : String ; Function Check : Boolean ; Struktur Blok Program : Program <NamaProgram> Function <NamaFunction> : TipeData ;. End ;. End. Contoh Program : Program HitungTanpaParameter; Var x, y : byte ; Function Tambah : byte ; Tambah : = x + y ; End; Function Kali : byte ; Kali : = x * y ; End; Write ( X = ) ; ReadLn (x) ; Write ( Y = ) ; ReadLn (y); WriteLn ( X + Y =, Tambah ) ; WriteLn ( X * Y =, Kali ) ; Output : X = 2 Y = 3 X + Y = 5 X * Y = 6 3

107 End. Header Function Dengan Parameter B.U : Function <NamaFunction> ( <Daftar Parameter> ) : TipeData; Contoh : Function Hitung ( a, b : byte ) : Integer ; Function CheckPosisi ( x, y : Integer ) : Boolean ; Struktur Blok Program : Program <NamaProgram> Function <NamaFunction> (<Daftar Parameter>) : TipeData ;. End ;. End. Contoh Program : Program HitungDenganParameter; Function Tambah (x,y : byte) : byte ; Tambah : = x + y ; End; Function Kali (x,y : byte) : byte ; Kali : = x * y ; End; Var x, y : byte ; Write ( X = ) ; ReadLn (x) ; Write ( Y = ) ; ReadLn (y); WriteLn ( X + Y =, Tambah(x,y) ) ; WriteLn ( X * Y =, Kali (x,y) ) ; End. Output : X = 2 Y = 3 X + Y = 5 X * Y = 6 4

108 Perbedaan Procedure dan Function : Jika membuat suatu procedure maka harus dideklarasikan dengan reserved word Procedure. Jika membuat suatu function harus dideklarasikan dengan reserved word Function Functon harus dideklarasikan dengan typenya, sedangkan procedure tidak. Hal ini menunjukkan bahwa function dapat menampung nilai, sedang procedure tidak dapat menampung nilai. Persamaan Procedure dan Function : Memecah sebuah program besar menjadi beberapa bagian / modul sehingga memudahkan pembagian tugas jika program dibuat oleh lebih dari 1 orang, dan mempermudah pengecekan kesalahan / error. Jika terdapat perintah2 yang sama yang akan dipakai dalam suatu program, maka sebaiknya perintah2 tsb dipisahkan dalam suatu modul program dengan bantuan procedure, sehingga jika ingin memakainya kita hanya tinggal memanggil nama procedure tsb. Mempermudah proses dokumentasi. PARAMETER DALAM FUNGSI Sama dengan prosedur, parameter dalam fungsi dapat dikirim secara nilai (by value) atau secara acuan (by reference). I.1 Parameter By Value Function Hitung (A,B : integer) : integer; Contoh : Berikut akan dibuat suatu fungsi yang akan menghasilkan nilai terbesar dari 2 buah nilai real. Function Terbesar(X,Y : real) : real; If X>Y Then Terbesar := X Else Terbesar := Y; End; Var Nilai1, Nilai2 : real; 5 Write( Nilai pertama? ); readln(nilai1); Write( Nilai kedua? ); readln(nilai2); Writeln( Nilai terbesar adalah,terbesar(nilai1,nilai2):9:3); End.

109 Bila program dijalankan : Nilai pertama? Nilai kedua? Nilai terbesar adalah I.2. Parameter by Reference Function Hitung(var A,B : integer) : integer; Pengiriman parameter dengan secara acuan akan mengakibatkan perubahan nilai parameter di fungsi juga merubah nilai parameter di modul yang mengirimkannya. Function Hitung(Var A,B,C : integer) : integer; Hitung := A + B; C := A * B; End; Var X, Y, Z : integer; Write( Nilai X? ); Readln(X); Write( Nilai Y? ); Readln(Y); Writeln; Writeln(X, +,Y, =,Hitung(X,Y,Z)); Writeln(X, *,Y, =,Z); End. Bila program dijalankan : Nilai X? 2 6

110 Nilai Y? = 5 2 * 3 = 6 II. FUNGSI PANGKAT Pascal tidak menyediakan fungsi untuk perpangkatan tinggi, yang ada hanyalah fungsi standar sqr, yaitu pemangkatan kuadrat. Bila akan dilakukan pemangkatan lebih dari pangkat 2, maka harus dibuat program tersendiri. Berikut contohnya : Function Pangkat(X:real; Y:integer) : real; Var Pangkat : real; I : integer; Pangkat :=1; For I := 1 to Y do Pangkat := Pangkat*X; PangkatI := Pangkat; End; Var A : real; B : integer; Write( Nilai yang akan dipangkatkan? ); Readln(A); Write( Dipangkatkan dengan? ); Readln(B); Writeln(A:9:3, pangkat,b, adalah,pangkati(a,b):9:3); End. 7

111 Bila program dijalankan : Nilai akan dipangkatkan? 1.5 Dipangkatkan dengan? pangkat 3 adalah III. FUNGSI MEMANGGIL DIRINYA SENDIRI Seperti halnya prosedur, fungsi juga dapat memanggil dirinya sendiri. Proses fungsi memanggil dirinya sendiri juga merupakan proses recursion. Contoh : Function Faktorial(Nilai : integer) : real; If Nilai = 0 then Faktorial := 1 Else Faktorial := Nilai * Faktorial(Nilai-1); End; Var N : integer; Write( Berapa faktorial? ); Readln(N); Writeln(N, faktorial =,Faktorial(N):9:0); End. IV. FUNGSI MEMANGGIL FUNGSI YANG LAIN Suatu fungsi dapat juga memanggil fungsi yang lainnya. Fungsi yang dipanggil letaknya harus berada diatas fungsi yang memanggil. Contoh : Function Fungsi2(Y: integer) : integer; Fungsi2 := Y*2; End; Function Fungsi1(X:integer) : integer; Fungsi1 := Fungsi2(X) + 5; End; 8 Writeln(Fungsi1(3));

112 Bila program dijalankan : 11 V. FUNGSI BERSARANG Fungsi bersarang merupakan fungsi yang letaknya berada didalam fungsi yang lainnya. Contoh : Function Fungsi1(X:integer) : integer; Function Fungsi2(Y:integer) : integer; Fungsi2 := Y*2; End; Fungsi1 := Fungsi2(X) + 5; End; Writeln(Fungsi1(3)); End. VI. FUNGSI STANDAR Pascal menyediakan beberapa fungsi standar yang telah didefinisikan dan tidak perlu dibuat kembali oleh si pemakai. Berikut beberapa contoh fungsi standar : Jenis fungsi standar Contoh Keterangan Arithmatika Abs(X); Memutlakan suatu nilai yang ditunjukkan oleh argumen x Exp(x:real):real; Menghitung nilai pangkat dari bilangan e Int(x:real):real; Menghasilkan nilai integer dari x 9

113 Sqr(x); Menghitung nilai pangkat kuadrat dari argumen x Transfer Chr(X:byte):char; Merubah nilai dari byte x ke bentuk karakter yang sesuai dengan kode ASCII Ord(X):longint; Merubah nilai x ke bentuk nilai longint yang sesuai dengan kode ASCII Round(x:real):longint; Membulatkan nilai dari real x ke longint yeng terdekat Contoh : Panggunaan fungsi standar Abs Var X : real; Write( Nilai yang akan dimutlakan? ); readln(x); Writeln( Nilai mutlaknya =,Abs(X):9:2); End. Bila program dijalankan : Nilai yang akan dimutlakkan? Nilai mutlaknya = Contoh : Penggunaan fungsi standar Exp Var X : real; Write( Nilai yang akan diexponentialkan? ); readln(x); Writeln( Nilai exponentialnya =,Exp(X):9:2); End. 10

114 Bila program dijalankan : Nilai yang akan diexponentialkan? 7.5 Nilai exponentialnya = Contoh : Fungsi standar SQRT Var A,B,C : real; Write( Panjang sisi tegak? );readln(a); Write( Panjang sisi datar? );readln(b); C := SQRT(SQR(A) + SQR(B)); Writeln( Panjang sisi miring =,C:9:2); End. Contoh : Penggunaan fungsi standar CHR Var End. X : byte; Write( Nilai kode ASCII (0-255)? ); Readln(X); Writeln( Karakter kode ASCII ini adalah :,chr(x)); Contoh : Penggunaan fungsi standar round End. Writeln( 10 dibagi 3 hasil pembulatan terdekat adalah,round(10/3)); Writeln( 20 dibagi 3 hasil pembulatan terdekat adalah,round(20/3)); 11

115 Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

116 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Fungsi Rekursif Memahami Fungsi Rekursif 1

117 FUNGSI REKURSIF 11.1 Pengertian Rekursi Rekursi adalah suatu proses dari fungsi yang memanggil dirinya sendiri. Fungsi yang seperti ini disebut fungsi rekursif (recursive function). Dalam sebuah fungsi rekursif pemanggilan dapat terjadi berulang kali. Karena ada proses yang berulang-ulang maka harus ada suatu kondisi yang mengakhiri prosesnya. Jika tidak, maka proses tidak akan pernah berhenti sampai memori yang digunakan tidak dapat menampung lagi. Pemecahan masalah dengan pendekatan rekursif dapat dilakukan jika masalah tersebut dapat didefinisikan secara rekursif, yaitu masalah dapat diuraikan menjadi masalah sejenis yang lebih sederhana. Listing Program 11.1 Contoh Fungsi Rekursi procedure rekursi(n: integer); begin if n > 0 then begin writeln('rekursi ',n); rekursi(n-1); end; end; var p: integer; begin p:=3; rekursi(p); end. Hasil Running: Rekursi 3 Rekursi 2 Rekursi 1 2

118 Dalam membuat fungsi rekursi harus ditentukan kondisi perhentian. Pada contoh listing program 11.1 di atas kondisi perhentiannya adalah jika nilai n sudah lebih kecil atau sama dengan 0. Setiap kali fungsi memanggil dirinya sendiri, nilai dari n dikurangi dengan nilai 1, sehingga nilai n akhirnya akan menjadi nol dan proses rekursi akan diakhiri, sehingga fungsi ini akan memanggil dirinya sendiri sebanyak n kali. Contoh untuk menggambarkan fungsi rekursif yang sering digunakan adalah fungsi untuk mendapatkan nilai faktorial dari suatu bilangan bulat. Listing Program 11.2 Program Faktorial Function faktorial(x: integer): longint; If x<= 1 then Faktorial := 1 Else Faktorial := x * faktorial(x-1); End; Var n:integer; Writeln( Menghitung N Faktorial (N!) ); Write( Masukkan N : ); readln(n); Writeln(n,! =, faktorial(n)); End. Hasil Running: Menghitung N Faktorial (N!) Masukkan N : 5 5! = 120 Program 11.2 di atas dapat dijelaskan sebagai berikut: 1. Fungsi utama memanggil fungsi faktorial() dengan mengirimkan nilai n = 5 untuk parameter formal x, yang maksudnya akan dilakukan perhitungan sebanyak 5 faktorial. 2. Jika nilai dari x pertama kali yang diberikan oleh fungsi utama bernilai kurang dari atau sama dengan satu, maka hasil faktorial yang akan diberikan adalah bernilai Jika nilai x pertama kali yang diberikan oleh fungsi utama lebih besar dari 1, maka proses rekursi akan dilakukan misalnya nilai x = 5, maka proses rekursi yang pertama adalah: 3

119 Faktorial= 5 * faktorial(4); Proses ini akan memanggil kembali fungsi dirinya sendiri dengan mengirimkan nilai 4 sebagai nilai x yang baru. Karena nilai x masih lebih besar dari 1 maka proses rekursi kedua akan dilakukan dengan hasilnya adalah 4 * faktorial(3). Untuk x adalah 3, hasil yang diperoleh oleh rekursi adalah 3 * faktorial(2) dan seterusnya sampai nilai x adalah 1. Untuk nilai x sama dengan 1 ini, perintah faktorial:=1 akan mengembalikan proses ke bagian yang memanggilnya. Hasil akhir dari nilai yang akan dikembalikan oleh fungsi faktorial dari penjelasan di atas untuk 5 faktorial dapat dituliskan sebagai berikut: faktorial:= 5 * faktorial(4); faktorial:= 4 * faktorial(3); faktorial:= 3 * faktorial(2); faktorial:= 2 * faktorial(1); faktorial:= ( 5 * 4 * 3 * 2 * 1); 11.2 Perbandingan Rekursif dengan Iteratif Kekurangan fungsi rekursif: 1. Memerlukan memory yang lebih banyak untuk menyimpan activation record dan variabel lokal. Activation record diperlukan waktu proses kembali kepada pemanggil. 2. Memerlukan waktu yang lebih banyak untuk menangani activation record. Secara umum gunakan penyelesaian rekursif hanya jika: 1. Penyelesaian sulit dilaksanakan secara iteratif. 2. Efisiensi dengan cara rekursif sudah memadai. 3. Efisiensi bukan masalah dibandingkan dengan kejelasan logika program. Jika sebuah masalah dapat diselesaikan dengan cara iteratif maka gunakan iteratif. Jika penyelesaian dengan menggunakan iteratif memerlukan algoritma yang relatif rumit maka 4

120 dapat dicoba dengan pendekatan rekursif karena rekursif memerlukan sumber daya yang lebih banyak. Contoh program untuk membandingkan penggunaan itertif dan rekursif dapat dilihat dalam program menampilkan deret fibonacci pada listing program 11.3 dan listing program 11.4 bawah ini. Listing Program 11.3 Program Fibonacci dengan Rekursif Function Fibo(N:word): word; If n< 2 then Fibo := N; Else Fibo := Fibo(N-2) + Fibo(N-1); End; Var N,i : Word; Writeln( Menampilkan deret Fibonacci ); Write( Batas suku bilangan ke : ); readln(n); Writeln( Deret ke,n, =, Fibo(N)); Write( Deret fibonacci : ); For i:= 1 to N do write(fibo(i), ); end. Hasil Running: Menampilkan deret Fibonacci Batas suku bilangan ke : 5 Deret ke 5 = 5 Deret Fibinacci : Penjelasan program: Deret fibonacci mempunyai nilai suku-suku bilangan berikut: 0, 1, 1, 2, 3, 5, 8, 13, 21,... Ciri khusus deret ini adalah tiap-tiap suku adalah hasil penjumlahan dari nilai dua suku sebelumnya. Misalnya adalah nilai suku ke dua adalah penjumlahan nilai suku ke 0 (bernilai 0) 5

121 dengan suku ke 1 (bernilai 1) jadi nilai suku ke 2 adalah sama dengan 1 (0 + 1). Nilai suku ke tiga adalah nilai suku ke dua ditambah nilai suku ke satu. Misalnya untuk mencari bilangan fibonacci ke- 5, maka urutan pengerjaannya adalah sebagai berikut: fibo(5) fibo(3) fibo(4) fibo(1) fibo(2) fibo(2) fibo(3) Dari diagram terlihat bahwa untuk mendapatkan deret fibo(1) ke 5 dari deret fibo(2) fibonacci maka fungsi fibo(4) dihitung satu kali, fungsi fibo(3) dihitung dua kali, fungsi fibo(2) dihitung tiga kali dan fungsi fibo(1) dihitung dua kali. Hal ini menyebabkan proses lebih lama dan juga sumber daya yang dibutuhkan untuk menangani proses ini lebih banyak. Listing Program 11.4 Program Fibonacci dengan Iteratif uses wincrt; Function fibo(n : word): word; Var fb1, fb2, fn, i : word; begin if n< 2 then fibo:=n else begin fb1:= 0; fb2:= 1; for i:= 2 to n do begin fn: = fb1; fb1:= fb2; fb2:= fn + fb2; end; fibo:= fb2; end; end; var x, i: word; begin writeln('menampilkan deret Fibonacci'); writeln; write('batas suku bilangan ke : '); readln(x); write('deret ke ', x, ' = ',fibo(x)); writeln; write('deret 6 fibonacci : '); for i:= 1 to x do write(fibo(i),' '); end.

122 Hasil Running: Menampilkan deret Fibonacci Batas suku bilangan ke : 5 Deret ke 5 = 5 Deret fibonacci : Penjelasan Program: Dari listing program 11.4, terlihat bahwa setiap kali akan menghitung suku ke-n, maka nilai-nilai suku sebelumnya akan digunakan kembali, yaitu nilai dari n-1(variabel fb1) dan nilai dari n- 2(variabel fb2). Pertama dihitung nilai dari deret ke-n, kemudian nilai dari deret n-1 diberikan kepada deret n-2, dan nilai dari deret n diberikan kepada deret n-1. Dengan cara iterasi ini, untuk menghitung nilai fibonacci(5) dapat dilakukan dengan cara: Fb1(nilai variabel n-1) = 0 Fb2(nilai variabel n-2)=1 Untuk i = 2 (suku ke-2): Fn = 0 Fb1 = 1 Fb2 = 0+1= 1 Untuk i = 3 (suku ke-3): Fn = 1 Fb1 = 1 Fb2 = 1+1= 2 Untuk i = 4 (suku ke-4): Fn = 1 Fb1 = 2 7

123 Fb2 = 1+2= 3 Untuk i = 5 (suku ke-5): Fn = 2 Fb1 = 3 Fb2 = 2+3= 5 Hasil akhirnya adalah Fibo(5) adalah 5 Latihan: 1. Apakah yang dimaksud dengan fungsi yang rekursif? 2. Apa persyaratan masalah untuk bisa diselesaikan dengan cara rekursif 3. Apa kekurangan fungsi rekursif? 4. Jelaskan mengenai activation recors. 5. Apakah lebih baik menulis program dengan menggunakan pendekatan iteratif ataukah rekursif? Tugas Mandiri: 1. Buatlah program untuk menghitung kombinasi dan permutasi. 2. Buatlah flowchart dan program untuk menghitung jumlah nilai deret fibonacci dari masukan berupa batas deret. ============== 8

124 Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

125 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi Tipe Data Bentukan Memahami Tipe Data Bentukan 1

126 TIPE DATA BENTUKAN Tipe Data Type Bahasa pemrograman seperti Pascal, sudah mendefinisikan tipe data yang dapat digunakan, akan tetapi pengguna/user dapat juga mendefinisikan sendiri tipe data. Caranya adalah dengan mendeklarasikan TYPE pada program. Sintak yang dapat digunakan untuk mendefinisilkan TYPE adalah sebagai berikut : type datatypeidentifier = typespecification; Format typespecification adalah : (identifier1, identifier2,... identifiern) Sebagai contoh tipe data bentukan untuk mendefinisikan nama bulan satu tahun. Perhatikan contoh berikut : type MonthType = (January, February, March, April, May, June, July, August, September, October, November, December); Setelah mendeklarasikan tipe maka tipe data bentukan itu dapat digunakan untuk variabel, seperti dibawah ini : var Month : MonthType; Pengguna juga dapat memberikan nilai dari data bentukan tersebut terhadap variabel yang didefinisikan. Month := January; Fungsi ordinal juga dapat digunakan untuk tipe data bentukan, seperti pernyataan berikut: ord(january) = 0, and ord(december) = 11. Kelemahan tipe data bentukan adalah tidak dapat dibaca ataupun ditulis langsung ke sebuah file. Data tersebut harus dikonversi terlebih dahulu ke dalam tipe data bentukan. Selain itu juga tipe data bentukan tidak dapat digunakan untuk tipe data yang lainnya. 2

127 12.2. Subrange Tipe data ordinal lainnya adalah subrange. Hampir sama dengan Type, subrange pun memiliki format sebagai berikut: type datatypeidentifier = typespecification; Format type spesificationnya adalah lowest_value.. highest_value Sebagai contoh bila ingin mendefinisikan hari dengan menggunakan subrange, seperti dibawah ini : type DaysOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); DaysOfWorkWeek = Monday..Friday; Subrange dapat juga digunakan untuk tipe data karakter dan integer ARRAY Array dimensi 1 Andaikan Anda harus membaca 5000 angka dan melakukan operasi yang sama terhadap data tersebut, bagaimana Anda mendeklarasikan ke 5000 angka tersebut kedalam variabel? Anda dapat saja mendeklarasikan variabel untuk 5000 angka tersebut dengan cara aa, ab, ac, ad,... aaa, aab,... aba,... : integer Walaupun hal tersebut dapat dilakukan, tapi akan memerlukan waktu yang lama untuk mendefiinisikannya. Ada cara lain yang dapat digunakan yaitu dengan menggunakan array. Array adalah tipe data berstruktur yang terdiri dari beberapa elemen data, dimana etiap elemen data tersebut memiliki tipe data yang sama. Untuk mengacu setiap elemen di dalam array dapat dilakukan dengan menggunakan nama array dan index Tipe data array dapat dideklarasikan sebagai berikut : 3

128 type typename = array [enumerated_type] of another_data_type; Array dapat dideklarasikan dengan menggunakan tipe data apapun bahkan dengan tipe data bentukan sekalipun. Sebagai contoh : type enum_type=1..50; arraytype = array [enum_type] of integer Deklarasi diatas dapat juga didefinisikan dengan cara berikut : type arraytype = array [1..50] of integer; Tipe data array akan sangat berguna jika data yang akan disimpan berukuran besar. Array pada umumnya digunakan dengan menggunakan bentuk perulangan (loop) karena dapat diakses dengan menggunakan index. Sebagai contoh untuk membaca 50 bilangan integer, maka dapat dikodekan sebagai berikut : type arraytype = array[1..50] of integer; var myarray : arraytype; (*membaca 50 bilangan*) for count := 1 to 50 do read (myarray[count]); Kurung siku digunakan diantara index pada saat mengakses elemen array. myarray[5] := 6; Array dimensi n Untuk array berdimensi n, dideklarasikan dengan cara : type datatypeidentifier = array [enum_type1, enum_type2] of datatype; Kurung siku digunakan untuk memisahkan dimensi dari array. a [5, 3] Contoh : 4

129 type StatusType = (X, O, Blank); BoardType = array[1..3,1..3] of StatusType; Var Board : BoardType; (*Inisialisasi*) for count1 := 1 to 3 do for count2 := 1 to 3 do Board[count1, count2] := Blank; 12.4.Records Record adalah salah satu tipe data terstruktur, dimana elemen-elemen data di dalamnya memiliki tipe data yang berbeda. Sebagai contoh data mengenai orang yang terdiri dari nama, umur, kota, dan alamat. Record dapat dituliskan dalam format berikut : TYPE TypeName=record identifierlist1:datatype_1;... identifierlis:datatype_n; end; Maka data orang dapat dinyatakan dengan record, seperti dibawah ini : type InfoType = record Nama : string; Umur : integer; kota : String; alamat :string; 5

130 end; Setiap elemen data yang terdapat didalam record dapat dinyatakan sebagai sebuah field. Cara untuk mengakses field tersebut adalah sebagai berikut : VariableIdentifier.FieldIdentifier Tanda titik memisahkan antara nama variabel record dengan nama field. Ada cara lain yang dapat digunakan untuk mengakses field dalam record yaitu dengan menggunakan kata WITH. DO, seperti dibawah ini : WITH Info DO BEGIN Age := 18; ZIP := 90210; END; Contoh: 1. Dibaca dua buah titik P1(x1, y1) dan P2(x2, y2). Tulislah algoritma untuk menghitung titik tengah dari P1 dan P2, dan buatlah programnya dalam Pascal. Titik tengah dua P1 dan P2 adalah P3(x3, y3) yang dihitung dengan rumus: x3 = x1 + x2 dan y3 = y1 + y2 2 2 Jawab: Algoritma Titik_Tengah Deklarasi Type Titik : record < x: real y: real > P1, P2, P3 : titik Deskripsi Read (P1.x, P1.y) {baca titik P1} 6

131 Read (P2.x, P2.y) {baca titk P2} P3.x (P1.x + P2.x) / 2 P3.y (P1.y + P2.y) / 2 Write (P3.x, P3.y) Berikut ini adalah Program yang dituliskan dengan Bahasa Pascal: Program Titik_Tengah; Type Titik = record x : real; y: real; end; var P1, P2, P3 : Titik; Write( Nilai x pada P1 (x1) : ); readln(p1.x); Write( Nilai y pada P1 (y1) : ); readln(p1.y); Write( Nilai x pada P2 (x2) : ); readln(p2.x); write( Nilai y pada P2 (y2) : ); readln(p2.y); P3.x := (P1.x + P2.x) / 2; P3.y := (P1.y + P2.y) / 2; Writeln( Koordinat P1 = (,P1.x,,,P1.y, ) ); Writeln( Koordinat P2 = (,P2.x,,,P2.y, ) ); Writeln( Titik tengah dari P1 dan P2= (,P3.x,,,P3.y, ) ); End. Jika Program dijalankan maka akan memberikan hasil seperti berikut: Nilai x pada P1 (x1) : 4 7

132 Nilai y pada P1 (y1) : 8 Nilai x pada P2 (x2) : 2 Nilai y pada P2 (y2) : 6 Koordinat P1 = (4, 8) Koordinat P2 = (2, 6) Titik tengah dari P1 dan P2= (3, 7) Latihan: 1. Apakah perbedaan record dengan array? 2. Dapatkah sebuah record mempunyai elemen sebuah record juga? Bagaimana cara mengaksesnya? 3. Tulislah program untuk menampilkan sejumlah data pegawai yang terdiri dari Nomor pegawai, nama pegawai, alamat, jabatan, gaji dan jenis kelamin. Banyaknya jumlah pegawai ditentukan oleh pengguna. 4. Buatlah algoritma untuk menghitung rata-rata dari beberapa nilai mahasiswa, banyaknya nilai yang akan dihitung berdasarkan masukan dari pengguna program 8

133 Daftar Pustaka Cheltenham Computer Training, C Programming, United Kingdom, 1997 Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001 Jogiyanto, Konsep Bahasa PASCAL, Andi Offset, Yogyakarta, 1993 Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta,

134 MODUL PERKULIAHAN Dasar Pemrograman Modul Standar untuk digunakan dalam Perkuliahan di Universitas Mercu Buana Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh Ilmu Komputer Sistem Informasi Abstract Kompetensi ARRAY (LARIK) Memahami Jenis Array 1

135 ARRAY (LARIK) Array adalah : type terstrukur yang terdiri dari sejumlah komponen-komponen yang mempunyai type yang sama. Suatu array mempunyai jumlah komponen yang tetap. Banyaknya komponen dari suatu array ditunjukan oleh Indeks yaitu ungkapan tipe ordinal. DEKLARASI ARRAY Array dalam suatu program pascal harus dideklarasikan terlebih dahulu, dengan kata cadangan Array diletakan diantara tanda [ ], larik bertipe sederhana seperti byte, word, integer, real, Boolean, character, dan tipe subrange. Contoh : Var X : array [ ] of integer tipe dari larik. Nama larik tipe indeks. Larik X telah dideklarasikan dengan tipe integer, dengan jumlah elemennya maksimum 100 elemen nilai-nilainya harus bernilai integer. X[1] :=25; X[2] :=75; X[3] :=15; X[4] :=10; Jika nilai elemen ke 3 dari larik X yang akan ditampilkan maka dapat dipergunakan statemen sebagai berikut : WriteLn(X[3]); Contoh deklarasi Array dengan macam-macam tipe Var nilai : Array [1..100] of byte; Var Urutan : Array [1..200] of word; Var gaji : Array [5..100] of Real; Var Lulus : Array [1..25] of Boolean; 2

136 Var Nilai : Array [1..5] of char; Array dibedakan menjadi : array berdimensi Satu array berdimensi dua array berdimensi banyak. ARRAY BERDIMENSI SATU Adalah tipe array yang paling sederhana Deklarasi untuk array tersebut diatas sebagai berikut : Var Nilai_test : array [1..5] of integer; Dengan adanya pendeklarasikan tersebut diatas Nilai_test yaitu : Nilai_test[1] :=78; Nilai_test[2] :=65; Nilai_test[3] :=80; Nilai_test[4] :=75; Nilai_test[5] :=62; berarti ada 5 buah elemen dalam array Memberikan Nilai dalam suatu Array. Nilai_test[2] :=65; Readln (Nilai_test[2]); Perhatikan contoh Program Larik_1 berikut ini : 3

137 Jika Program Larik_1 dijalankan, maka akan menampilkan output seperti di bawah ini : ARRAY BERDIMENSI DUA Array berdimensi dua dapat berbentuk tabel atau matrik yaitu indeks yang pertama menunjukan baris dan indeks yang kedua menunjukan kolom dari tabel atau matrik. Eko Dwi Tri Catur Topan Bahari Ami Anank Arev Areh Anin Andi Bentuk deklarasinya sebagai berikut : Var TABEL = ARRAY [1..3,1..4]; of STRING; Indeks kolom Tipe Array Nama Array Indeks Baris 4

138 MEMBERI NILAI Yang harus dipaham dalam pemberian nilai pada array tabel terdapat elemen sebagai berikut : Tabel [1,1] berisi nilai string yaitu Eko Tabel [1,2] berisi nilai string yaitu Dwi Tabel [1,3] berisi nilai string yaitu Tri Tabel [1,4] berisi nilai string yaitu Catur Tabel [2,1] berisi nilai string yaitu Topan Tabel [2,2] berisi nilai string yaitu Bahari Tabel [2,3] berisi nilai string yaitu Ami Tabel [2,4] berisi nilai string yaitu Andi ini berarti elemen bergerak mulai dari : baris 1 - kolom 1, kolom2, kolom3, kolom4 baris 2 - kolom 1, kolom2, kolom3, kolom4 baris 3 - kolom 1, kolom2, kolom3, kolom4 Perhatikan contoh program larik_2 berikut ini : Jika program larik_3 dijalankan, maka akan menampilkan output seperti di bawah ini : 5

139 Perhatikan contoh program larik_3 berikut ini : Jika program larik_3 dijalankan, maka akan menampilkan output seperti di bawah ini : Perhatikan contoh program larik_4 berikut ini : 6

140 Jika program larik_4 dijalankan, maka akan menampilkan output seperti di bawah ini : Perhatikan contoh program larik_5 berikut ini : 7

141 Latihan : 8

Pertemuan 4 KONSEP TIPE DATA

Pertemuan 4 KONSEP TIPE DATA Pertemuan 4 KONSEP TIPE DATA Bahasa Pemrograman PASCAL Pascal, merupakan bahasa pemrograman tingkat tinggi. Pascal dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland) pada

Lebih terperinci

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM 1. Mengetahui sejarah bahasa Pascal. 2. Mengerti dan memahami struktur pemrograman

Lebih terperinci

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan PERKEMBANGAN PASCAL Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan Nama pascal diambil sebagai penghargaan terhadap BLAISE PASCAL seorang ahli matematika

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

Teori Algoritma TIPE DATA

Teori Algoritma TIPE DATA Alam Santosa Teori Algoritma Dasar Algoritma TIPE DATA Program komputer adalah deretan perintah untuk memanipulasi data input menjadi informasi yang bermanfaat bagi pengguna (user). Data yang diinput dapat

Lebih terperinci

SMA SANTO PAULUS PONTIANAK

SMA SANTO PAULUS PONTIANAK SMA SANTO PAULUS PONTIANAK Konsep Dasar Pemrograman Pascal Kelas X Semester 2 Pengayaan Teknologi Informasi dan Komunikasi Oleh : Vianney Alexius, mtb TIK-vianney.mtb 2012 Algoritma Serangkaian langkah

Lebih terperinci

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom PENDAHULUAN Brigida Arie Minartiningtyas, M.Kom Langkah dalam proses pembuatan suatu program atau software : Mendefinisikan masalah dan menganalisanya Tujuan dari pembuatan program Parameter-parameter

Lebih terperinci

Bab 2 DASAR-DASAR ALGORITMA

Bab 2 DASAR-DASAR ALGORITMA Bab 2 DASAR-DASAR ALGORITMA Pada bab ini anda akan mempelajari 1. Nama (pengenal) 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

Pengenalan Pascal. Sejarah Singkat Pascal

Pengenalan Pascal. Sejarah Singkat Pascal Pengenalan Pascal Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan

Lebih terperinci

Algoritma,Flowchart, Konsep

Algoritma,Flowchart, Konsep Algoritma,Flowchart, Konsep dasar PASCAL Masih ingat??? Algoritma Penulisan Algoritma Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris) Kelemahannya masih sering membingungkan (ambigu) /

Lebih terperinci

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA Kata-Kata Cadangan Kata-kata cadangan (reserved words) adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksud tertentu. Kata-kata

Lebih terperinci

Dasar Komputer & Pemrogaman 2A

Dasar Komputer & Pemrogaman 2A Dasar Komputer & Pemrogaman 2A Materi 1 Reza Aditya Firdaus Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari

Lebih terperinci

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2 VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

BAB I PENGANTAR ALGORITMA

BAB I PENGANTAR ALGORITMA BAB I PENGANTAR ALGORITMA Kebayanakan komputer digunakan untuk memperoses dan menyimpan data serta informasi. Pemerosesan perlu dilakukan komputasi-komputasi yang cepat dan akurat. Untuk melakukan tugas-tugas

Lebih terperinci

Yudha Dwi P. N. Pertemuan 2 Pengantar Algoritma

Yudha Dwi P. N. Pertemuan 2 Pengantar Algoritma Yudha Dwi P. N. Pertemuan 2 Pengantar Algoritma PROSES, INSTRUKSI DAN AKSI Pada dasarnya sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Selanjutnya sebuah proses dikerjakan oleh pemroses

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Proses, Instruksi, dan Aksi

Proses, Instruksi, dan Aksi Matakuliah : Algoritma & Struktur Data Versi : 1.0.0 Materi : Dasar-Dasar Algoritma Penyaji : Zulkarnaen NS 1 Proses, Instruksi, dan Aksi Pada dasarnya, sebuah algoritma merupakan deskripsi pelaksanaan

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

Brigida Arie Minartiningtyas, M.Kom

Brigida Arie Minartiningtyas, M.Kom Brigida Arie Minartiningtyas, M.Kom Pseudocode Pseudo berarti imitasi atau mirip atau menyerupai Code menunjukkan kode dari program Pseudocode adalah kode yang mirip dengan instruksi kode program yang

Lebih terperinci

Konsep Dasar Pemrograman Pascal

Konsep Dasar Pemrograman Pascal Konsep Dasar Pemrograman Pascal 1.1 Definisi Algoritma Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Langkah-langkah dalam algoritma

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Algoritma Pemrograman Bekti Wulandari, M.Pd Kelas B TE 2014 Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level

Lebih terperinci

MODUL 3 ALGORITMA PEMROGRAMAN

MODUL 3 ALGORITMA PEMROGRAMAN MODUL 3 ALGORITMA PEMROGRAMAN Pada Modul ini anda akan mempelajari 1. Pengenal 2. Nilai 3. Variabel dan Konstanta 4. Penugasan (Assignment) 5. Jenis-jenis tipe data 6. Jenis-jenis operasi dan kaitannya

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

Pemrograman Dasar Pascal

Pemrograman Dasar Pascal Pemrograman Dasar Pascal Semester 1 d3 ilkom uns 1.Pengenalan Program 1 Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal

Lebih terperinci

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua ALGORITMA & PEMROGRAMAN II Pascal #2 Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua PASCAL Bahasa Pemrograman Terstruktur Diciptakan Nikalus Wirth Kata PASCAL untukpenghormatan

Lebih terperinci

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam Teks Program Bahasa Pascal Tabel

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

Nama, Tipe, Ekspresi, dan Nilai

Nama, Tipe, Ekspresi, dan Nilai Nama, Tipe, Ekspresi, dan Nilai ALGORITMA DAN PEMROGRAMAN [IS6110102] Dosen: Yudha Saintika, S.T., M.T.I Sub-Capaian Pembelajaran MK Mahasiswa mampu menerapkan konsep nama, tipe, ekspresi, nilai ke dalam

Lebih terperinci

Algoritma Pemrograman I

Algoritma Pemrograman I Algoritma Pemrograman I Konsep Dasar Algoritma Ika Menarianti 1 Apakah Algoritma itu? Masalah adalah pertanyaan atau tugas yang kita cari jawabannya. Untuk masalah yang kecil, dapat ditemukan solusi dengan

Lebih terperinci

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1 I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer

Lebih terperinci

MODUL 1. Struktur Bahasa PASCAL secara umum

MODUL 1. Struktur Bahasa PASCAL secara umum MODUL 1 Struktur Bahasa PASCAL secara umum Pascal mempunyai struktur sebagai berikut: 1. Bagian Judul Program 2. Bagian Deklarasi e a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi

Lebih terperinci

Algoritma Pemrograman I KONSEP DASAR

Algoritma Pemrograman I KONSEP DASAR Algoritma Pemrograman I KONSEP DASAR Apakah Algoritma itu? Masalah adalah pertanyaan atau tugas yang kita cari jawabannya. Untuk masalah yang kecil, dapat ditemukan solusi dengan mudah dan cepat. Jika

Lebih terperinci

KONSEP DASAR BAHASA PASCAL

KONSEP DASAR BAHASA PASCAL KONSEP DASAR BAHASA PASCAL Pengertian Pemrograman / programming : adalah pekerjaan penulisan instruksi bagi computer untuk menyelesaikan suatu masalah. Program Interpreter Compiler : adalah himpunan instruksi

Lebih terperinci

Tinjau algoritma dibawah ini

Tinjau algoritma dibawah ini Matakuliah : Algoritma & Struktur Data Versi : 1.0.0 Materi : Tipe, Nama, dan Nilai Penyaji : Zulkarnaen NS 1 Tinjau algoritma dibawah ini Di dalam algoritma Euclidean, nilai m dan n dimanipulasi oleh

Lebih terperinci

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T AP2a (Pascal) Akuntansi Kelas 1 Semester 2 Hana Pertiwi S.T Pertemuan 1-3 (4 maret 2014) 1. Konsep Dasar Bahasa Pascal 2. Sejarah Singkat Bahasa Pascal 3. Struktur Dan Komponen Dasar Bahasa Pascal ( i).

Lebih terperinci

KONSEP DASAR BAHASA PASCAL

KONSEP DASAR BAHASA PASCAL KONSEP DASAR BAHASA PASCAL Sejarah Singkat Bahasa PASCAL Dikembangkan awal tahun 70-an oleh NICLAUS WIRTH di Technical University, Zurich Swiss. Nama PASCAL diambil dari nama seorang ahli matematika bangsa

Lebih terperinci

Sesi/Perkuliahan ke: I

Sesi/Perkuliahan ke: I Sesi/Perkuliahan ke: I Tujuan Instruksional Khusus : 1. Mahasiswa dapat menjelaskan tentang sejarah singkat bahasa pemrograman pascal. 2. Mahasiswa mengerti tentang konsep dasar pembuatan program pada

Lebih terperinci

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Runtunan terdiri dari satu atau lebih pernyataan Tiap pernyataan dikerjakan secara berurutan sesuai urutannya Urutan instruksi menentukan

Lebih terperinci

Algoritma Pemrograman I

Algoritma Pemrograman I Algoritma Pemrograman I Kegiatan Belajar 1 : Algoritma Pemrograman A. Tujuan Pembelajaran Setelah mengikuti kegiatan belajar 1 ini mahasiswa diharapkan dapat : 1) Memahami Konsep Algoritma 2) Memahami

Lebih terperinci

TIPE, NAMA, DAN NILAI

TIPE, NAMA, DAN NILAI TIPE, NAMA, DAN NILAI Dian Palupi Rini, M.Kom Tipe Dasar Bilangan Logika Nama Tipe adalah boolean (diambil dari nama matematikawan Inggris George Boole). Ranah Nilai : true (benar) dan false (salah). Konstanta

Lebih terperinci

PROGRAM PASCAL. 2. Tunggu beberapa saat sampai muncul tampilan program Turbo Pascal

PROGRAM PASCAL. 2. Tunggu beberapa saat sampai muncul tampilan program Turbo Pascal PROGRAM PASCAL Pascal adalah bahasa tingkat tinggi(high level language) yang orientasinya pada segala tujuan, dirancang oleh Professor Niklaus Wirt dari Technical University di Zurich, Switzerland. Nama

Lebih terperinci

P A S C A L D A S A R

P A S C A L D A S A R P A S C A L D A S A R Komputer merupakan satu rangkaian perangkat elektronik yang terdiri dari monitor, CPU(Central Processing Unit), keyboard, speaker maupun printer. Penggunaaan komputer sudah sangat

Lebih terperinci

Definisi Algoritma Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

Definisi Algoritma Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Konsep Dasar Pemrograman Pascal Definisi Algoritma Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Langkah-langkah dalam algoritma harus

Lebih terperinci

1/8/2011. Pertemuan 13-14: Dasar Pemrograman. Sub pokok bahasan. Program Komputer dan Bahasa Pemrograman. Program Komputer dan Bahasa Pemrograman

1/8/2011. Pertemuan 13-14: Dasar Pemrograman. Sub pokok bahasan. Program Komputer dan Bahasa Pemrograman. Program Komputer dan Bahasa Pemrograman Pertemuan 13-14: Dasar Pemrograman Sub pokok bahasan Penerapan Komputer (KOM201), SKS: 3(2-2) Program Komputer dan Bahasa Pemrograman Program komputer: sekumpulan instruksi yang mengarahkan komputer untuk

Lebih terperinci

Algoritma dan Pemrograman Format Laporan dengan Pascal

Algoritma dan Pemrograman Format Laporan dengan Pascal Eko Nur Wahyudi Fakultas Teknologi Informasi, Universitas Stikubank Semarang email : eko@unisbank.ac.id ABSTRAK : Perlu dipahami bahwa format atau desain suatu laporan sangatlah penting berkaitan dengan

Lebih terperinci

Sesi/Perkuliahan ke: II

Sesi/Perkuliahan ke: II Sesi/Perkuliahan ke: II Tujuan Instruksional Khusus : 1. Mahasiswa dapat menyebutkan jenis-jenis data sederhana. 2. Mahasiswa dapat menjelaskan pengertian integer,, boolean dan char. 3. Mahasiswa dapat

Lebih terperinci

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom PENGENALAN KOMPUTER Dian Palupi Rini, M.Kom Sistem Komputer Komputer Definisi komputer adalah alat elektronik yang dapat menerima input data, mengolah data dan memberikan hasil dalam bentuk informasi dengan

Lebih terperinci

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN PERTEMUAN 2 ALGORITMA & PEMROGRAMAN POKOK BAHASAN 1. Pendahuluan 2. Tahapan Pembangunan Program 3. Pengenalan Algoritma 4. Cara Menyajikan Algoritma 5. Data Program 6. Elemen-Elemen Program PENDAHULUAN

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

KONSEP DASAR PEMROGRAMAN PASCAL

KONSEP DASAR PEMROGRAMAN PASCAL KONSEP DASAR PEMROGRAMAN PASCAL 1.1 Perkembangan Pascal Pascal adalah bahasa tingkat tinggi yang orientasinya pada segala tujuan, dirancang oleh Prof. Niklaus Wirth dari Technical University di Zurich,

Lebih terperinci

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom Tipe Data dan Variabel Dosen Pengampu Muhammad Zidny Naf an, M.Kom Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan

Lebih terperinci

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1 Struktur Data Belajar Struktur Data Menggunakan Pascal Pertemuan-1 I n W a h y u W i d o d o e m a i l @ r i n g k e s. c o m Identifier, Konstanta dan Variabel Identifier (sebutan / pengenal) Identifier

Lebih terperinci

Dasar Komputer & Pemrograman 2A

Dasar Komputer & Pemrograman 2A Dasar Komputer & Pemrograman 2A Materi 3 Reza Aditya Firdaus STATEMENT INPUT OUTPUT Dalam bahasa Pascal untuk keperluan input (membaca input) digunakan identifier standar READ atau READLN. Identifier standart

Lebih terperinci

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data Dasar Komputer dan Pemrograman Konsep Tipe Data dan Operator Nama dan Nilai Data Mahasiswa memahami penggunaan tipe data dan operator serta translasinya ke dalam pseudocode. Mahasiswa memahami aturan penamaan

Lebih terperinci

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T. Pertemuan Ke-9 STRUKTUR DASAR LOGIKA ALGORITMA Oleh: Imana Malia kondou, S.T. Tips Sukses Menjadi Mahasiswa Pergunakan waktu dengan maksimal Buat buku tugas dan kerjakan tugas segera Jaga komuikasi dengan

Lebih terperinci

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I I. Pengertian Algoritma Algorithm sebenarnya berasal dari kata algorism yang berarti proses menghitung dengan angka Arab. Perencanaan dan perancangan program komputer

Lebih terperinci

Pertemuan 2 Operasi String

Pertemuan 2 Operasi String Pertemuan 2 Operasi String Objektif: 1. Dapat mengerti dan menggunakan prosedur standar untuk operasi string 2. Dapat mengerti dan menggunakan fungsi standar untuk opersi string Pertemuan 2 28 P2.1 Teori

Lebih terperinci

Algortima. Teguh Cahyono, ST.M.Kom

Algortima. Teguh Cahyono, ST.M.Kom Algortima Teguh Cahyono, ST.M.Kom Tipe Data & Macam Operator Macam Macam Type Data Ada enam kelompok type data pada turbo pascal yaitu : 1) Tipe data sederhana, type data sederhana dibagi menjadi dua type

Lebih terperinci

Pengenalan Pascal. Tujuan Pembelajaran

Pengenalan Pascal. Tujuan Pembelajaran Pengenalan Pascal Tujuan Pembelajaran Setelah melalui diskusi dan penjelasan 1. Mahasiswa dapat memahami struktur program pascal dengan benar 2. Mahasiswa memahami istilah identifier dengan benar 3. Mahasiswa

Lebih terperinci

Struktur Data. Pertemuan 2

Struktur Data. Pertemuan 2 Pertemuan 2 Tujuan Pembelajaran Mahasiswa mampu menjelaskan konsep struktur data (Pengertian Struktur data, Konsep struktur data, Tipe data sederhana, Deklarasi data dalam bahasa pemrograman. 1. Pengertian

Lebih terperinci

Bahasa Pemrograman- TIS SKS

Bahasa Pemrograman- TIS SKS Bahasa Pemrograman- TIS1313 3 SKS T.Informatika@2013 Materi Bahasan Pemrograman TIS1313 Pengenalan / Pengantar Bahasa Pemrograman Algoritma,Program, Bahasa Pemrograman Struktur sistem komputer Siklus Hidup

Lebih terperinci

ALGORITHM. 6 Algoritma, Flowchart & Program. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

ALGORITHM. 6 Algoritma, Flowchart & Program. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress. ALGORITHM 6 Algoritma, Flowchart & Program Dahlia Widhyaestoeti, S.Kom dahlia.widhyaestoeti@gmail.com dahlia74march.wordpress.com Seorang sahabat dekat setara dengan seribu orang kerabat Euripides Euripides

Lebih terperinci

Modul 1 Pengantar Bahasa Pascal

Modul 1 Pengantar Bahasa Pascal 1 Modul 1 Pengantar Bahasa Pascal 1.1 Sejarah Singkat Bahasa PASCAL Bahasa PASCAL pertama kali dikembangkan pada awal tahun 70-an oleh NICLAUS WIRTH di Technical University, Zurich Swiss. Nama PASCAL diambil

Lebih terperinci

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA I. Pendahuluan Algoritma dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. Algoritma dapat ditulis dalam bahasa natural/bahasa

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-4 Nilai dan Urutan (sequence) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Nilai Pengisian nilai ke dalam nama peubah Ekspresi Menuliskan Nilai

Lebih terperinci

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S. ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN Disusun Oleh : Sakina Mawardah Teknik Informatika Dosen : Asep M. Yusuf, S.T UNIVERSITAS NASIONAL PASIM DAFTAR ISI A. Algoritma Percabangan...

Lebih terperinci

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA JENIS DATA SEDERHANA & INPUT/OUTPUT DATA 1.1 Tipe Data A. Data Tipe Sederhana Dihubungkan dengan sebuah identifier untuk sebuah data. Data tipe ini digolongkan menjadi tipe data standar dan tipe data yang

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level bahasa pemrograman: 1. Bahasa tingkat rendah 2. Bahasa

Lebih terperinci

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs. Indentifier, Keywords, Variable, Tipe Data dan Operator Ramos Somya, S.Kom., M.Cs. Merupakan nama yang digunakan untuk menamai variabel, konstanta, nama program maupun sub program. Seorang programmer tidak

Lebih terperinci

KONSEP DASAR BAHASA PASCAL. Pengertian SEJARAH SINGKAT BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL.

KONSEP DASAR BAHASA PASCAL. Pengertian SEJARAH SINGKAT BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL. KONSEP DASAR BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL. Pengertian Pemrograman / programming : adalah pekerjaan penulisan instruksi bagi komputer untuk menyelesaikan suatu masalah. Struktur

Lebih terperinci

BAB I PENGANTAR ALGORITMA

BAB I PENGANTAR ALGORITMA BAB I PENGANTAR ALGORITMA Kebayanakan komputer digunakan untuk memperoses dan menyimpan data serta informasi. Pemerosesan perlu dilakukan komputasi-komputasi yang cepat dan akurat. Untuk melakukan tugas-tugas

Lebih terperinci

ALGORITMA & FLOWCHART

ALGORITMA & FLOWCHART ALGORITMA & FLOWCHART 1. DEFINISI ALGORITMA Terdapat beberapa definisi mengenai kata Algoritma : 1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis (Rinaldi

Lebih terperinci

STRUKTUR DATA. - Pendahuluan - Tipe Data. Altien Jonathan Rindengan, S.Si., M.Kom

STRUKTUR DATA. - Pendahuluan - Tipe Data. Altien Jonathan Rindengan, S.Si., M.Kom STRUKTUR DATA - Pendahuluan - Tipe Data Altien Jonathan Rindengan, S.Si., M.Kom Pendahuluan Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file pada media

Lebih terperinci

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Pertemuan 3 Penyeleksian Kondisi dan Perulangan Pertemuan 3 Penyeleksian Kondisi dan Perulangan Objektif: 1. Mengetahui macam-macam penyeleksian kondisi dalam pascal 2. Mengerti statement kondisi IF dan Case 3. Mengetahui macam-macam perulangan dalam

Lebih terperinci

KONSEP DASAR BAHASA PASCAL

KONSEP DASAR BAHASA PASCAL KONSEP DASAR BAHASA PASCAL I. Struktur Dan Komponen Dasar Program Pascal. Struktur dari suatu program Pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Badan program dibagi

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Pengantar dalam Bahasa Pemrograman Turbo Pascal Pengantar dalam Bahasa Pemrograman Turbo Pascal Penulis: William www.etersoul.com Computer Club of Bunda Hati Kudus SMA Bunda Hati Kudus Pengantar Bahasa Pemrograman Pascal Page 1 / 11 License Agreements

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama 2 Pendahuluan Tipe adalah pola representasi data dalam komputer Tipe data dapat dikelompokkan

Lebih terperinci

PENGENALAN DASAR PEMROGRAMAN

PENGENALAN DASAR PEMROGRAMAN PENGENALAN DASAR PEMROGRAMAN Pertemuan 1 I. Pengertian Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikan

Lebih terperinci

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL 1 MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL 1.1 Struktur Program Dalam Pascal Struktur dari suatu program pascal terdiri dari sebuah judul program ( program heading ) dan suatu blok program ( program

Lebih terperinci

Pengenalan Pascal/DevPascal

Pengenalan Pascal/DevPascal Materi 1 Pengenalan Pascal/DevPascal Turbo Pascal adalah Compiler bahasa pemrograman Pascal. Untuk memulai menjalankan Pascal: Cari Folder Pascal ada di C:\TP\BIN\TPX.EXE Jalankan File TPX tersebut Dev

Lebih terperinci

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR Company LOGO ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR Dian Palupi Rini, M.Kom Pendahuluan Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah dengan komputer perlu merumuskan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-1 (Pengantar Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Arti Penting Algoritma Program Terstruktur dan Algoritma Notasi

Lebih terperinci

PENGANTAR ALGORITMA DAN PEMROGRAMAN

PENGANTAR ALGORITMA DAN PEMROGRAMAN PENGANTAR ALGORITMA DAN PEMROGRAMAN Asal kata Algoritma Algorism atau Algorithm berarti proses menghitung. Al-Khuwarizmi dalam buku berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran dan

Lebih terperinci

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom Dasar-dasar Algoritma Dan Representasi Algoritma Pengampu : Muhammad Zidny Naf an, M.Kom STRUKTUR DASAR ALGORITMA 2 Proses, Instruksi, dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan suatu proses.

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 Tipe Data dan Nama :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik Informatika-Unijoyo 2 Pendahuluan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-3 (Tipe Data dan Nama) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Tipe Dasar Tipe Bentukan Nama S1 Teknik Informatika-Unijoyo 2 1

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS MATA KULIAH PEMROGRAMAN * (TK) Minggu ke Pokok Bahasan dan TIU 1. Algoritma Konsep Dasar Bahasa Pascal secara singkat sejarah dirancangnya bahasa Memberikan konsep dasar pembuatan program dalam bahasa

Lebih terperinci

Dasar Komputer & Pemrograman 2A

Dasar Komputer & Pemrograman 2A Dasar Komputer & Pemrograman 2A Materi 2 Reza Aditya Firdaus JENIS-JENIS DATA Jenis jenis data Jenis jenis data yang dikenal dalam bahasa pascal antara lain yaitu: 1. Jenis data sederhana a. Jenis data

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-4 (Nilai dan Urutan [Sequence]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Nilai Pengisian nilai ke dalam nama peubah Ekspresi Menuliskan Nilai

Lebih terperinci

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

TIPE DATA, VARIABLE, dan OPERATOR DELPHI TIPE DATA, VARIABLE, dan OPERATOR DELPHI A. TIPE DATA Delphi merupakan bahasa pemrograman tingkat tinggi yang mendukung perancangan terstruktur dan berorientasi Object. Bahasa pemrograman ini berdasarkan

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date] [Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date] H a l a m a n 1 DAFTAR ISI DAFTAR ISI... 1 1. TIPE DATA DALAM BORLAND DELPHI7... 2 1.1.

Lebih terperinci

Pemrograman I + Lab. Pengertian. Site : Sistem Informasi Akuntansi D3

Pemrograman I + Lab. Pengertian.   Site :  Sistem Informasi Akuntansi D3 Pemrograman I + Lab Sistem Informasi Akuntansi D3 Oleh : Fahrul Nurzaman Email : fnurzaman@gmail.com Site : http://fnurzaman.wordpress.com Fahrul Nurzaman 2007 Pengertian Bahasa : Alat Komunikasi PENGENALAN

Lebih terperinci

Bab 2. Dasar-Dasar Pemrograman C

Bab 2. Dasar-Dasar Pemrograman C Bab 2. Dasar-Dasar Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Tipe Data Standar (Standart Data Type) Aturan Pendefinisian Identifier Variabel Mendeklarasikan

Lebih terperinci

Statemen-Statemen pada Pemrograman Pascal Reserved Word

Statemen-Statemen pada Pemrograman Pascal Reserved Word Statemen-Statemen pada Pemrograman Pascal Reserved Word Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah terintergrated dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu

Lebih terperinci