Dasar Pemrograman
Nisa’ul Hafidhoh nisa@dsn.dinus.ac.id
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
Penilaian
• UTS 30%
• UAS 30%
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
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
Kegiatan dalam Pemrograman
• Utak-atik, mencari solusi
• Analisis, pembuatan spesifikasi • Program writing (coding)
• Program execution (observation, debugging, testing)
• Program reading
Belajar Memprogram
• Belajar strategi pemecahan masalah,
sistematika pemecahan masalah dan
menuangkannya dalam suatu notasi
yang disepakati bersama. Belajar
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
Paradigma Pemrograman Deklaratif / predikatif Object Oriented Fungsional Prosedural / imperatifParadigma Prosedural
• Program dipandang sebagai rentetan
instruksi; intruksi dieksekusi satu persatu
secara sequential oleh pemrosesan tunggal. • Terdapat kondisi awal (
initial state
) dankondisi akhir (
final state
) yang ingin dicapai • Beberapa instruksi menentukan langkahberikutnya (percabangan/kondisional).
Tools Pemrograman [1]
• Editor
Merupakan software untuk menulis dan mengedit program.
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.
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
Contoh Program C
• Apakah program diatas dapat dikenali oleh komputer?
• Tidak, dibutuhkan proses kompilasi agar komputer mengenal
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
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
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
Tugas 1
• Carilah suatu permasalahan di sekitar! • Buatlah notasi algoritmik secara lengkap
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
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
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 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
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
NUMERIK
REAL
NUMERIK
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
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)
Boolean
● Merupakan tipe data logika, yang berisi
dua kemungkinan nilai:
◦ TRUE (benar)
● 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