Dasar Pemrograman Nisa ul Hafidhoh nisa@dsn.dinus.ac.id 08156114760
Rencana Kuliah W Pokok Bahasan 1 Pendahuluan 2 Notasi Algoritmik, Tipe Data 3 Perintah Dasar 4 Aksi Sekuensial 5 Analisa Kasus 6 Analisa Kasus 7 Review 1-6 8 Ujian Tengah Semester W Pokok Bahasan 9 Perulangan 10 Analisa Kasus & Perulangan 11 Array 12 Array Multidimensi 13 Tipe Bentukan 14 Tipe Bentukan 15 Review 9-14 16 Ujian Akhir Semester
Penilaian UTS 30% UAS 30% Tugas 40%
Komputer Sebagai alat bantu menyelesaikan persoalan Alat elektronik yang dapat melakukan perhitungan (Kamus bahasa Inggris)? Berapa 36 x 7?
Cara kerja komputer Manusia memberikan perintah pada komputer, komputer beberapa kali menterjemahkan perintah Terdapat beberapa tingkat Bahasa Pemrograman: Bahasa tingkat tinggi / High level language Contoh: Java Bahasa tingkat menengah / Mid level language Contoh: C Bahasa tingkat rendah / Low level language Contoh: Assembly Bahasa Mesin Contoh: 01010101
Definisi Algoritma ~ pseudocode Langkah-langkah/aturan logis dalam deskripsi tekstual dengan pola baku untuk menyelesaikan suatu masalah. Program Instruksi komputer dalam suatu bahasa pemrograman yang tersedia di dunia nyata. Bahasa Program Sebuah notasi untuk mendeskripsi sebuah program. Bahasa yang berfungsi untuk menghubungkan manusia dengan mesin / komputer.
Pemrograman Aktifitas runut pembuatan program: Pendefinisian masalah Penyusunan algoritma [flowchart] Penulisan instruksi (coding) menggunakan sebuah bahasa formal Uji coba & perbaikan kesalahan (debugging) Run program Dokumentasi
Kegiatan dalam Pemrograman Utak-atik, mencari solusi Analisis, pembuatan spesifikasi Program writing (coding) Program execution (observation, debugging, testing) Program reading Program correctness & complexity analysis
Belajar Memprogram Belajar Bahasa Pemrograman Belajar strategi pemecahan masalah, sistematika pemecahan masalah dan menuangkannya dalam suatu notasi yang disepakati bersama.
Belajar Memprogram VS Bahasa Pemrograman Belajar memprogram: pemahaman persoalan, analisis pemecahan solusi Belajar bahasa pemrograman: belajar memakai suatu bahasa (aturan sintaks / tatabahasa, instruksi, penulisan, dll) Analogi: Belajar bahasa Indonesia dan belajar menulis makalah ilmiah dengan bahasa Indonesia
Paradigma Pemrograman Pendekatan dalam pemrograman. Cara pandang terhadap penyelesaian masalah pemrograman tertentu. Diprioritaskan terhadap kelompok problema, realitas, keadaan, dan sebagainya.
Berbagai Paradigma Deklaratif / predikatif Prosedural / imperatif Paradigma Pemrograman Object Oriented Fungsional
Paradigma Prosedural Program dipandang sebagai rentetan instruksi; intruksi dieksekusi satu persatu secara sequential oleh pemrosesan tunggal. Terdapat kondisi awal (initial state) dan kondisi akhir (final state) yang ingin dicapai Beberapa instruksi menentukan langkah berikutnya (percabangan/kondisional). Contoh bahasa pemrograman: bahasa C.
Tools Pemrograman [1] Editor Merupakan software untuk menulis dan mengedit program. Contoh: notepad, notepad++, vim
Tools Pemrograman [2] Compiler : menghasilkan object code, yang kemudian di-link oleh linker menjadi executable Code. Contoh: gcc, tc, cc, javac Interpreter : menerjemahkan dan melaksanakan instruksi demi instruksi Contoh: BASIC, MATLAB
Tools Pemrograman [3] Debugger: Proses untuk menemukan kesalahan program / proses pencarian bug. Istilah proses ini disebut dengan debug. IDE (Integrated Development Environment): menggabungkan fungsi editor, Interpreter & kompilator, dan kadang juga ditambah dengan debugger. Contoh: Code Blocks, Dev C++, Turbo C
Mengenal Bahasa C Dikembangkan oleh Dennis Ritchie dan Brian Kernighan pada awal 1970an. Awalnya berkembang di lingkungan Unix ±90% sistem operasi Unix ditulis dalam bahasa C Pada 1986 dikembangkan superset C yaitu C++ yang dilengkapi kemampuan pemrograman berorientasi objek. Tahun 90an digunakan untuk mengembangkan Windows dan Linux
Contoh Program C Apakah program diatas dapat dikenali oleh komputer? Tidak, dibutuhkan proses kompilasi agar komputer mengenal
Proses Kompilasi Bahasa C
Kompilasi & Running Program C Berikut merupakan proses kompilasi dengan kompilator gcc dan program dijalankan lewat windows command prompt
Notasi Algoritmik Notasi dipakai sebagai standard penulisan teks algoritma Notasi Algoritmik terdiri dari tiga bagian, yaitu : Judul (Header) Kamus Algoritma Nama/identifier dalam sebuah teks algoritmik adalah sesuatu yang dipakai sebagai identifikasi: type, tempat penyimpanan, konstanta, fungsi, prosedur, modul algoritma (harus unik)
Contoh Notasi Algoritmik JUDUL { Spesifikasi teks algoritmik secara umum } { Ini adalah teks dalam bahasa Indonesia untuk memudahkan pembacaan teks algoritma} KAMUS {Pada bagian ini, dilakukan pendefinisian nama konstanta, nama variabel, spesifikasi prosedur, spesifikasi fungsi } ALGORITMA { Spesifikasi teks algoritmik secara detail } { Pada bagian ini, semua teks yang tidak dituliskan di antara tanda kurung kurawal buka dan kurung kurawal tutup harus dianggap sebagai notasi algoritmik }
Judul Tempat mendefinisikan apakah program, prosedur, fungsi, modul atau sebuah skema program. Selanjutnya didefinisikan spesifikasi(fungsi atau fasilitas) singkat. Menggambarkan intisari sebuah teks algoritmik. Contoh: JUDUL Algoritma menggoreng telur (Cara menggoreng telur mentah hingga siap makan)
Kamus Kamus digunakan untuk deklarasi/definisi. Deklarasi nama yang didefinisikan: tipe, variabel, konstanta. Deklarasi nama-nama lain (optional): nama fungsi, prosedur dan spesifikasinya. Nama baru bisa digunakan jika didefinisikan dalam kamus.
Contoh Pendefinisian Kamus <nama>: <tipe data> Contoh Kamus: Nomor: integer CC: character KAMUS jumlah_telur : integer
Algoritma Adalah bagian program dalam bentuk teks algoritmik yang berisi instruksi atau pemanggilan aksi. Teks algoritma dapat berupa: Instruksi dasar: I/O, assigment Sequential statement Analisis kasus/ kondisi Pengulangan Semua teks adalah instruksi kecuali komentar yang ditandai { }
Contoh Algoritma Pada algoritma menggoreng telur yang siap makan ada beberapa urutan solusi ALGORITMA Ambil wajan dan telur Pecahkan telur tambahkan garam Goreng telur hingga matang Sajikan telur pada piring
Tugas 1 Carilah suatu permasalahan di sekitar! Buatlah notasi algoritmik secara lengkap untuk solusi masalah tersebut!
Komentar Komentar berfungsi untuk memudahan seorang programmer membaca alur sebuah program. Komentar diawali /* dan diakhiri */, kadang kala diawali // untuk 1 baris komentar. Macam-macam dan contoh komentar: /*ini komentar 1 baris*/ // ini komentar 1 baris int /*ini komentar sisipan*/ a; /* ini adalah komentar 2 baris */
Tipe Data Pola representasi suatu data dalam komputer -> menentukan secara internal data disimpan Tipe data menentukan data yang dapat disimpan, contoh: Bilangan bulat disimpan pada tipe data int Tulisan/Teks atau kata-kata disimpan pada tipe data char
Mendefinisikan Tipe Data menentukan nama type dalam kamus, definisi domain harga yang dapat dipunyai oleh nama tersebut, operator yang dapat dioperasikan terhadap objek bertype tersebut.
Jenis Tipe Data Tipe Data Dasar / Primitif Tipe data yang tersedia / didefinisikan dalam suatu bahasa / komputer Tipe Data Bentukan / Komposisi Tipe data yang disusun dari berbagai tipe data dasar
Tipe Data Dasar Tipe data dasar telah didefinisikan, pemrogram dapat langsung memakai nama tipe dan semua operator yang tersedia, dan menggunakan sesuai domain nilai yang disimpan dalam tipe. Contoh tipe data dasar dalam bahasa tingkat tinggi dan digunakan dalam notasi algoritmik adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean/logika
NUMERIK INTEGER Tipe Data Ukuran Tempat Rentang Nilai Byte 1 byte 0 s/d +255 Shortint 1 byte -28 s/d +127 Integer 2 bytes -32768 s/d 32767 Word 2 bytes 0 s/d 65535 Longint 4 bytes 2147483648 s/d 2147483647
Operator Integer
NUMERIK REAL Tipe Data Ukuran Tempat Rentang Nilai real 6 bytes 2.9 x 10-39 s/d 1.7 x1038 single 4 bytes 1.5 x 1045 s/d 3.4 x 1038 double 8 bytes 5.0 x 10-324 s/d 1.7 x 10308 extended 10 bytes 3.4 x 10-4932 s/d 1.1 x 104932 comp 8 bytes -9.2x 1018 s/d 9.2x 1018
Operator Real
Karakter (Char) Tipe data Char digunakan untuk karakter. Masing-masing karakter menempati memori sebesar 1 byte. Satu byte terdiri dari 8 bit. Karakter terdiri dari : Abjad (A Z) Karakter khusus (!,@,<,>,#,dll) Angka (0 9)
Boolean Merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) FALSE (salah)
Tipe Data Dasar dalam Bahasa C Berikut adalah tipe data yang sering digunakan dalam bahasa c. Nama Tipe Data Dalam Bahasa C 1 Integer Int 2 Character char 3 Floating Point float 4 Double precision floating point double 5 Void void
Referensi IF-ITB/Santika WP/2003 IL -Rev Tim Penyusun Materi KU1071/Pengantar Teknologi Informasi A Inggriani Liem, IF-ITB, Diktat Pemrograman Prosedural (2007)
Terimakasih