• Tidak ada hasil yang ditemukan

Pemrograman Dasar C. Minggu 1: Pengenalan C Programming

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman Dasar C. Minggu 1: Pengenalan C Programming"

Copied!
34
0
0

Teks penuh

(1)

Pemrograman Dasar C

Pemrograman Dasar C

Minggu 1:

Minggu 1:

Pengenalan C Programming

Pengenalan C Programming

(2)

Sejarah Bahasa C

Sejarah Bahasa C

Pencipta: Dennis M. Ritchie dan Brian W.

Pencipta: Dennis M. Ritchie dan Brian W.

Kernighan (awal 1970)

Kernighan (awal 1970)

Pada awalnya berkembang di UNIX (90%

Pada awalnya berkembang di UNIX (90%

System Operasi UNIX dalam C)

System Operasi UNIX dalam C)

Tahun 1986 dikembangkan superset C yang

Tahun 1986 dikembangkan superset C yang

berubah menjadi C++

(3)

Standard C

Standard C

Definisi Kernighan & Ritchie (K&R)

Definisi Kernighan & Ritchie (K&R)

ANSI-C –

ANSI-C –

standard yang akan kita pakai

standard yang akan kita pakai

Definisi AT&T (superset C, C++)

Definisi AT&T (superset C, C++)

Versi pada PC:

Versi pada PC:

Lattice CLattice C

– Microsoft C/Microsoft Quick CMicrosoft C/Microsoft Quick C – Turbo C/Borland C++Turbo C/Borland C++

(4)

Aplikasi dalam Bahasa C

Aplikasi dalam Bahasa C

System Operasi dan Program-Program

System Operasi dan Program-Program

System

System

Pemrograman Hardware

Pemrograman Hardware

Pembuatan Tool Kit

Pembuatan Tool Kit

Program Aplikasi (dBase, WordStar,

Program Aplikasi (dBase, WordStar,

Lotus123)

(5)

Istilah

Istilah

Blok

Blok

: sekumpulan kalimat C yang ditulis di

: sekumpulan kalimat C yang ditulis di

antara { dan }

antara { dan }

Definisi

Definisi

: memberitahukan sifat (property)

: memberitahukan sifat (property)

objek dan sekaligus mengalokasikan

objek dan sekaligus mengalokasikan

memori untuk objek

memori untuk objek

Deklarasi

Deklarasi

: memberitahukan sifat (property)

: memberitahukan sifat (property)

objek (terutama berkaitan dengan tipe)

objek (terutama berkaitan dengan tipe)

Inisialisasi

Inisialisasi

: memberikan nilai objek

: memberikan nilai objek

(6)

Istilah

Istilah

Deklarasi Global

Deklarasi Global

: deklarasi yang berlaku

: deklarasi yang berlaku

dalam satu unit translasi (file)

dalam satu unit translasi (file)

Deklarasi Lokal

Deklarasi Lokal

: deklarasi yang hanya

: deklarasi yang hanya

berlaku dalam blok tempat deklarasi

berlaku dalam blok tempat deklarasi

Objek

Objek

: daerah memori yang bernama (sama

: daerah memori yang bernama (sama

dengan variabel

dengan variabel

Lvalue

Lvalue

: ekspresi yang mereferensi suatu

: ekspresi yang mereferensi suatu

objek (nilai sebelah kiri assignment)

(7)

Istilah

Istilah

Prototype

Prototype

: deklarasi fungsi, menyatakan

: deklarasi fungsi, menyatakan

nama, tipe return value, nama dan tipe

nama, tipe return value, nama dan tipe

parameter formal (argumen)

parameter formal (argumen)

Body

Body

: realisasi dari fungsi

: realisasi dari fungsi

Scope

Scope

: daerah program tempat suatu nama

: daerah program tempat suatu nama

dikenal

(8)

Komputer dan Programnya

Komputer dan Programnya

 Komputer mengikuti sebuah alur dari instruksi Komputer mengikuti sebuah alur dari instruksi

data yang tepat (‘program’) untuk memproses

data yang tepat (‘program’) untuk memproses

informasi (‘data’) dan mengambil keputusan.

(9)

Komputer dan Programnya

Komputer dan Programnya

Programming

Programming

Merupakan urutan instruksi:Merupakan urutan instruksi:

» KonsepKonsep » DesainDesain

» ImplementasiImplementasi » VerifikasiVerifikasi

– Sebagian besar dari ini adalah kegiatan tanpa Sebagian besar dari ini adalah kegiatan tanpa

menggunakan keyboard.

(10)

Programming Tingkat Rendah &

Programming Tingkat Rendah &

Tinggi

Tinggi

 Tingkat terendah: Kode MesinTingkat terendah: Kode Mesin

Dapat langsung diproses, bentuk bilangan BinerDapat langsung diproses, bentuk bilangan BinerContoh: 10001011 01100111 10011011 11000111Contoh: 10001011 01100111 10011011 11000111  Tingkat rendah berikutnya: AssemblerTingkat rendah berikutnya: Assembler

– Istilah yang merepresentasikan kode mesinIstilah yang merepresentasikan kode mesin

mov al,90h mov al,90h inc ax inc ax jnz loop1 jnz loop1

Bisa dibaca, lambat untuk dibuat, cepat diproses, Bisa dibaca, lambat untuk dibuat, cepat diproses,

spesifik untuk prosesor tertentu (Intel, Motorola dll)

(11)

Programming Tingkat Rendah &

Programming Tingkat Rendah &

Tinggi

Tinggi

Tingkat Tinggi: Pascal, C, Fortran, C++,

Tingkat Tinggi: Pascal, C, Fortran, C++,

Java, C#

Java, C#

– Satu statement sama dengan banyak operasi Satu statement sama dengan banyak operasi

kode mesin

kode mesin

ans = a/(b*24)

ans = a/(b*24)

– Dapat dipahami manusia, cepat menulisnya, Dapat dipahami manusia, cepat menulisnya,

tidak efisien (?) dalam hal ukuran kode dan

tidak efisien (?) dalam hal ukuran kode dan

kecepatan proses, dapat dipindahkan antar

kecepatan proses, dapat dipindahkan antar

prosessors.

(12)

Programming Tingkat Rendah &

Programming Tingkat Rendah &

Tinggi

Tinggi

Tingkat Lebih Tinggi: Logic Programming

Tingkat Lebih Tinggi: Logic Programming

(Prolog) dan Functional Programming

(Prolog) dan Functional Programming

(Haskell)

(Haskell)

– Sangat ringkasSangat ringkas

– Sulit dipelajari, penekanan pada iterasiSulit dipelajari, penekanan pada iterasiKonsepnya sama sekali berbeda dengan Konsepnya sama sekali berbeda dengan

pemrograman lainnya

(13)

Kenapa C?

Kenapa C?

Pascal:

Pascal:

Mempelajari bahasa, ketat, bersahabat untuk Mempelajari bahasa, ketat, bersahabat untuk

pembaca.

pembaca.

Fortran:

Fortran:

Tidak bersahabat, baik untuk bilangan Tidak bersahabat, baik untuk bilangan

kompleks.

kompleks.

BASIC:

BASIC:

(14)

Kenapa C?

Kenapa C?

 C:C:

Cukup cepat dipelajari, tidak mudah dibaca.Cukup cepat dipelajari, tidak mudah dibaca.Tidak seketat PascalTidak seketat Pascal

– Kompilernya tersedia untuk semua jenis komputerKompilernya tersedia untuk semua jenis komputer  C++, Java, C#:C++, Java, C#:

– Orientasi objek, konsep yang sulit untuk pemulaOrientasi objek, konsep yang sulit untuk pemula – Tidak seluas C dalam penggunaanTidak seluas C dalam penggunaan

(15)

Perencanaan

Perencanaan

Perencanaan yang baik dibutuhkan pada

Perencanaan yang baik dibutuhkan pada

program untuk:

program untuk:

– Benar-benar melakukan sesuatu yang Benar-benar melakukan sesuatu yang

diinginkan.

diinginkan.

Mudah mencari kesalahan.Mudah mencari kesalahan.

Memudahkan orang lain untuk mengerti dan Memudahkan orang lain untuk mengerti dan

mengubah.

mengubah.

Waktu desain yang efisien juga untuk ukuran Waktu desain yang efisien juga untuk ukuran

dan waktu run.

(16)

5 Langkah Membuat Program

5 Langkah Membuat Program

Analisis Persyaratan:

Analisis Persyaratan:

Apa yang akan dilakukan programApa yang akan dilakukan program

Apa yang dibutuhkan untuk melakukan hal tsbApa yang dibutuhkan untuk melakukan hal tsb

Spesifikasi:

Spesifikasi:

– Menulis dengan tepat apa yang harus dilakukan Menulis dengan tepat apa yang harus dilakukan

program

program

Desain:

Desain:

(17)

5 Langkah Membuat Program

5 Langkah Membuat Program

Implementasi (koding)

Implementasi (koding)

Mengubah desain menjadi kodeMengubah desain menjadi kode

Didokumentasikan dengan baik / diberi Didokumentasikan dengan baik / diberi

komentar dengan baik

komentar dengan baik

Verifikasi:

Verifikasi:

(18)

Studi Kasus

Studi Kasus

Analisa Persyaratan:

Analisa Persyaratan:

Menghitung tenaga listrik yang dihasilkan pada Menghitung tenaga listrik yang dihasilkan pada

sebuah beban listrik

sebuah beban listrik

– Mengambil voltase dan arus untuk Mengambil voltase dan arus untuk

menghasilkan tenaga listrik

menghasilkan tenaga listrik

– Dilaksanakan menggunakan “ANSI C” pada Dilaksanakan menggunakan “ANSI C” pada

PC

(19)

Studi Kasus

Studi Kasus

Spesifikasi:

Spesifikasi:

Input:Input:

» Voltase berkisar 0 sampai 1000 VoltVoltase berkisar 0 sampai 1000 Volt » Arus 0 sampai 10 AmpereArus 0 sampai 10 Ampere

– Output:Output:

» Power dalam Watts Power dalam Watts

– Algoritma:Algoritma:

(20)

Studi Kasus

Studi Kasus

Seperti Resep Memasak: sebuah daftar dari

Seperti Resep Memasak: sebuah daftar dari

bumbu dan metodanya

bumbu dan metodanya

Program Kita P = V x I voltase

arus

(21)

Studi Kasus

Studi Kasus

 Desain: Metode Desain Top-DownDesain: Metode Desain Top-Down

– Bagi dan Kuasai: dibagi-bagi dalam bagian-bagian Bagi dan Kuasai: dibagi-bagi dalam bagian-bagian

yang bisa diatur.

yang bisa diatur.

– Dimulai dari skala makro kebawah kearah skala mikro:Dimulai dari skala makro kebawah kearah skala mikro: » Mulai dari tugas keseluruhanMulai dari tugas keseluruhan

» Bagi dalam bagian tugas (dekomposisi) – lebih detailBagi dalam bagian tugas (dekomposisi) – lebih detail

» Dipartisi untuk independen (tugas yang berdiri sendiri dengan Dipartisi untuk independen (tugas yang berdiri sendiri dengan

interaksi sederhana dari luar)

interaksi sederhana dari luar)

» Ulangi sampai tugas tingkat rendah dapat dipahami dengan Ulangi sampai tugas tingkat rendah dapat dipahami dengan

mudah atau simpel

mudah atau simpel

» Identifikasi bagian tugas yang diulang / sangat mirip: buatlah Identifikasi bagian tugas yang diulang / sangat mirip: buatlah

satu tugas yang sifatnya lebih umum.

(22)

Studi Kasus

Studi Kasus

Desain: Metode Desain Top-Down (cont’d)

Desain: Metode Desain Top-Down (cont’d)

– Membuat pengaturan hirarkiMembuat pengaturan hirarki

Studi Kasus ini sederhana – bagi menjadi 3

Studi Kasus ini sederhana – bagi menjadi 3

bagian blok:

bagian blok:

(1) Meminta input(1) Meminta input

– (2) Menghitung power(2) Menghitung power – (3) Menampilkan hasil(3) Menampilkan hasil

Minta Input Hitung Power Display Hasil V

(23)

Studi Kasus

Studi Kasus

 Struktur:Struktur:

Komputer pada umumnya Komputer pada umumnya

mesin pemrosesan yang

mesin pemrosesan yang

sekuential (berurutan)

sekuential (berurutan) » Berikan – LakukanBerikan – Lakukan

Pada tingkat kode mesin Pada tingkat kode mesin

operasinya berupa operasi

operasinya berupa operasi

yang sekuensial linier

yang sekuensial linier – Struktur dari desain kita Struktur dari desain kita

juga sekuensial linier

juga sekuensial linier

Meminta Input

Hitung Power Tampilkan

(24)

Bahasa Logis

Bahasa Logis

Setelah selesai, gambarkan operasi tiap modul dalam bahasa biasa:Setelah selesai, gambarkan operasi tiap modul dalam bahasa biasa: – 1. Minta voltase terminal1. Minta voltase terminal

– 2. Mengumpulkan input untuk voltase2. Mengumpulkan input untuk voltase

– 3. Minta arus input3. Minta arus input

– 4. Mengumpulkan input untuk arus4. Mengumpulkan input untuk arus

– 5. Menghitung Power: V x I5. Menghitung Power: V x I

– 6. Mengumumkan hasil akan datang6. Mengumumkan hasil akan datang

– 7. Menampilkan hasil7. Menampilkan hasil

Tampilkan dalam bentuk flow chart atau kode pseudoTampilkan dalam bentuk flow chart atau kode pseudo

Melalui langkah ini adalah penting untuk produksi yang cepat dari Melalui langkah ini adalah penting untuk produksi yang cepat dari

program yang handal dan akurat.

(25)

Implementasi

Implementasi

Pada intinya, kode dari bawah ke atas

Pada intinya, kode dari bawah ke atas

Kodekan masing-masing sub-modul

Kodekan masing-masing sub-modul

terendah dulu baru keatas

terendah dulu baru keatas

(26)

Implementasi

Implementasi

#include <stdio.h> #include <stdio.h> int main (void)

int main (void) {

{

/* kode anda disini */ /* kode anda disini */

/* membaca voltase */ /* membaca voltase */ /* membaca arus */ /* membaca arus */ /* menghitung power */ /* menghitung power */ /* menampilkan hasil */ /* menampilkan hasil */

(27)

Variabel

Variabel

 Elemen penyimpanan untuk menyimpan data yang Elemen penyimpanan untuk menyimpan data yang

bisa diubah

bisa diubah

 Selalu mempunyai Selalu mempunyai nama identifikasinama identifikasi dan dan tipetipe

TipeTipe adalah klasifikasi atau pengelompokan yang adalah klasifikasi atau pengelompokan yang

mengidentifikasi tipe dari data yang dirancang

mengidentifikasi tipe dari data yang dirancang

untuk disimpan. Objek yang diciptakan dalam

untuk disimpan. Objek yang diciptakan dalam

tipe

tipe ini didesain untuk menampung data yang ini didesain untuk menampung data yang memenuhi peraturan spesifik dari tipe tsb.

(28)

Variabel

Variabel

 Jenis-jenis tipe:Jenis-jenis tipe:

Nama

Nama KisaranKisaran

int int +32767 ke –32767+32767 ke –32767 char char +127 ke –128+127 ke –128 short short +32767 ke –32767+32767 ke –32767 long long +2147483647+2147483647 ke –2147483648 ke –2147483648 unsigned char unsigned char 0 ke +2550 ke +255 unsigned short unsigned short 0 ke +655350 ke +65535 unsigned int unsigned int 0 ke +655350 ke +65535

(29)

Identifier – Nama dari Sesuatu

Identifier – Nama dari Sesuatu

Dapat terbuat dari:

Dapat terbuat dari:

– Huruf ‘a’ – ‘z’ & ‘A’ – ‘Z’ and angka ‘0’ – ‘9’ Huruf ‘a’ – ‘z’ & ‘A’ – ‘Z’ and angka ‘0’ – ‘9’

ditambah ‘_’ tapi tidak space atau karakter

ditambah ‘_’ tapi tidak space atau karakter

lainnya

lainnya

– C adalah Case Sensitive – ‘My_Name’ tidak C adalah Case Sensitive – ‘My_Name’ tidak

sama dengan ‘my_name’

sama dengan ‘my_name’

Harus dimulai dengan karakter alfabetik tidak Harus dimulai dengan karakter alfabetik tidak

angka jadi “5my_name” ilegal!

angka jadi “5my_name” ilegal! – Sampai 32 karakterSampai 32 karakter

(30)

Identifier – Nama dari Sesuatu

Identifier – Nama dari Sesuatu

 Mana yang ilegal?Mana yang ilegal?

– ‘results of my calculation’results of my calculation’

– ‘2nd$voltage’2nd$voltage’

– ‘ToTal_CapaCitaNce’ToTal_CapaCitaNce’

– ‘Exam-Results’Exam-Results’

 Buatlah nama yang berarti (fungsinya) tapi tidak Buatlah nama yang berarti (fungsinya) tapi tidak

terlalu panjang atau diketik berulang

terlalu panjang atau diketik berulang

 Untuk studi kasus kita dipakai:Untuk studi kasus kita dipakai:

power

power voltsvolts currentcurrent

(31)

Deklarasi Variabel

Deklarasi Variabel

Semua (termasuk variabel)

Semua (termasuk variabel)

harus

harus

dideklarasikan sebelum dipakai, jika tidak

dideklarasikan sebelum dipakai, jika tidak

dikatakan ‘tidak diketahui’!

dikatakan ‘tidak diketahui’!

Variabel

Variabel

adalah penyimpan data yang

adalah penyimpan data yang

dapat kita ubah selama run dari program

dapat kita ubah selama run dari program

Sintaks:

Sintaks:

nama-tipe Identifier;

nama-tipe Identifier;

nama-tipe Identifier = n, Identifier = n

nama-tipe Identifier = n, Identifier = n

(32)

Studi Kasus

Studi Kasus

 Contoh untuk studi kasus:Contoh untuk studi kasus:

int power; int power; int volts; int volts; int current; int current;  Atau:Atau:

int power, volts, current;

int power, volts, current;

 Atau:Atau:

int power, volts = 0, current = 9;

int power, volts = 0, current = 9;

(33)

Kesimpulan

Kesimpulan

 C kemungkinan bahasa yang paling banyak C kemungkinan bahasa yang paling banyak

digunakan oleh ahli teknik (engineers)

digunakan oleh ahli teknik (engineers)

 Perencanaan yang menyeluruh sebelum Perencanaan yang menyeluruh sebelum

implementasi

implementasi

 5 tahap desain program:5 tahap desain program: – Analisa persyaratanAnalisa persyaratan

– SpesifikasiSpesifikasi – DesainDesain

– ImplementasiImplementasi

(34)

Kesimpulan

Kesimpulan

 Desain secara Top-Down dan implementasi Desain secara Top-Down dan implementasi

“Bottom-Up”

“Bottom-Up”

 Prosesing sekuensial – struktur linierProsesing sekuensial – struktur linier  Tipe – klasifikasiTipe – klasifikasi

 Identifier – nama dari sesuatuIdentifier – nama dari sesuatu

 Variabel – elemen penyimpan dengan sebuah tipe Variabel – elemen penyimpan dengan sebuah tipe

yang terdefinisi terlebih dahulu dan sebuah

yang terdefinisi terlebih dahulu dan sebuah

Identifier unik

Identifier unik

Referensi

Dokumen terkait

a) Kesesuaian dengan pendapatan.. Preferensi konsumen dalam memilih dan membeli rumah merupakan suatu gambaran mengenai alasan- alasan konsumen memilih rumah yang

Tujuan dari penelitian ini adalah untuk menggambarkan konsep manajemen kelas dengan strategi PAIKEM yang diterapkan dalam pelajaran sejarah di MTs Manba’ul ‘Ulum

Yang dimaksud dengan Pejabat Fungsional Perekayasa yang disesuaikan Penetapan Angka Kreditnya dengan Peraturan Kepala Badan Pengkajian dan Penerapan Teknologi ini adalah

Adapun aspek yang menjadi sasaran observasi pada kegiatan membaca nyaring kalimat sederhana terdiri atas dua belas aspek antara lain: (1) memperhatikan penjelasan dari guru,

“Retribusi Daerah” yang selanjutnya disebut Retribusi adalah pungutan Daerah sebagai pembayaran Ijin Mendirikan Bangunan untuk kepentingan orang pribadi atau Badan Hukum pada

penting yang dapat mempengaruhi tingkat hasil belajar siswa adalah motivasi.. belajar yang ada pada

“Pada kata [talua] dalam bahasa Minangkabau diucapkan menjadi [alU] ketika dilafalkan responden yang diartikan dalam bahasa Indonesia berarti „telur‟. Pengucapan ini

Analisis petrografi bertujuan untuk penamaan batu sedimen serta memperoleh data penunjang bagi Provenance agar dapat diketahui bagaimana kandungan persentase batuan baik