Anda di halaman 1dari 73

Riyanto Sigit

D4 Teknik Komputer
Politeknik Elektronika Negeri Surabaya
 Capaian Pembelajaran
 Pokok Bahasan
 Referensi
 Pendahuluan
 Bentuk-Bentuk Flowchart
 Pengantar Pemrograman
 Langkah-langkah Pemrograman
 Konversi Bilangan
 Mahasiswa mampu memahami dan menjelaskan
mengenai pengertian, tujuan, kegunaan atau
manfaat dari pemrograman dasar,
 Mahasiswa memiliki kemampuan dan konsep
pemrograman termasuk pemrograman prosedural
(metode , parameter, nilai balik) , struktur kontrol
dasar (urutan, if/ else, perulangan for, perulangan
while) , pemrosesan file , array, string , fungi string
dan pointer serta variabvel struktur.
 Mahasiswa terampil mengerjakan permasalahan
secara mandiri atau berkelompok untuk
mengerjakan tugas/proyek pemrograman yang
diberikan.
 1. Konsep dasar dari struktur komputer dan
menjalankan program.
 2. Variabel-variabel, tipe-tipe variabel.
 3. ekspresi/ ungkapan, pemberian nilai
(assignment), fungsi cadangan.
 4. Relasi Logika dan Kondisi.
 5. Input/output: console, file, graphical.
 6. Pernyataan Kondisi/ Penentu Keputusan
(Conditional execution) (if/else).
 7. Iterasi/ perulangan/ looping (for, while, do
while).
 8. Diagram Alir/ Flowchart.
 9. Mengembangkan Fungi Sendiri.
 10. Variabel Larik/ Array satu, dua dan tiga
dimensi.
 11. Variable String dan Fungsi String.
 12. Variabel Pointer dan penggunaannya
dalam fungsi.
 13. Variable Struktur.
 14. Presentasi judul tugas kelompok
 15. Demo 1: tugas kelompok
 16. Demo 2: tugas kelompok
 Pemrograman Microsoft Visual C++, Wahana Komputer, Andi
Publisher, November - 2009
 Algoritma Pemrograman C++ Dalam Ilustrasi, YM Kusuma
Ardhana, S.T. & Gregoris Airlangga, Jasakom, Desember -
2011
 Programming With Visual C++ 2010, Ivor Horton, Wiley
Publishing, Inc., All Rights Reserved. , April, 2010
 Panduan Pemrograman Visual C++, Abdul Kadir, Andi Offset,
2008
 Dasar pemrograman C++ disertai dengan pengenalan
pemrograman berorientasi objek, Hanif Al Fatta, S.Kom.,
September - 2006
 Pemrograman dasar merupakan bahasa yang
sangat umum digunakan untuk membuat
suatu program
 Namun bagaimana cara membuat program
dengan suatu bahasa pemrograman ?
 Disini akan dibahas secara mendasar
mengenai pemrograman dasar yaitu
Algoritma
 Algoritma ialah logika, metode dan tahapan “urutan” sistematis yang
digunakan untuk memecahkan suatu permasalahan.
 Algoritma dapat juga diartikan sebagai urutan langkah secara
sistematis dan logis.
 Dalam perkembangannya, algoritma banyak dipakai di bidang
komputer.

 Campuran Kopi dan Susu


 Secara spesifik, pengertian algoritma ialah suatu metode
khusus yang tepat dan terdiri dari serangkaian langkah yang
terstruktur dan dituliskan secara matematis yang akan
dikerjakan untuk menyelesaikan suatu masalah dengan
bantuan komputer.
 Jadi berdasarkan definisi ini, dapat dikatakan algoritma
merupakan langkah penyelesaian suatu masalah yang
menghasilkan solusi dalam bentuk program komputer.
 Namun penting diketahui bahwa algoritma tidaklah
tergantung oleh suatu bahasa pemrograman tertentu, artinya
suatu algoritma harus dapat diwujudkan oleh bahasa
pemrograman komputer apapun.
 Algoritma dapat disajikan dalam dua bentuk yaitu dalam
bentuk tulisan/bahasa dan dalam bentuk gambar.
 Penyajian algoritma dalam bentuk tulisan haruslah
menggunakan bahasa yang dapat dimengerti manusia dalam
menyajikan langkah-langkah algoritma.
 Penyajian algoritma dalam bentuk tulisan juga dapat
dilakukan menggunakan pseudocode.
 Pseudocode berasal dari kata pseudo yang berarti “mirip atau
menyerupai” dan code yang berarti “kode program”.
 Contoh bahasa pemrograman yang digunakan untuk
menyatakan pseudocode ialah BASIC, Pascal, C, dan lain-lain.
 Sedangkan, penyajian algoritma dalam bentuk gambar sering
disebut flow chart.
 Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program
yang rumit.
 Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi
program yang lebih sederhana.
 Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali
penggunaan.
 Memudahkan dalam pembuatan program.
 Bisa mengatasi segala masalah dengan logika dan urut.
 Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan
juga devide.
 Meminimalisir penulisan program yang berulang-ulang.
 Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat
lebih mudah untuk dipahami ataupun dikembangkan.
 Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi
algoritma bisa mendapatkan alur yang jelas.
 Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada
satu modul saja tanpa harus merubah dan mengganggu modul yang lain.
 Dokumentasi yang lebih mudah.
 Manfaat Algoritma
◦ Adapun manfaat algoritma sendiri yaitu untuk
membantu seseorang dalam menyelesaikan suatu
masalah berdasarkan pada pola pikirnya masing-
masing.
 Sifat Algoritma
◦ Tidak menggunakan syimbol atau syintaks dari
suatu bahasa pemograman.
◦ Tidak tergantung pada suatu bahasa
pemograman.
◦ Notasi-notasinya dapat digunakan untuk seluruh
bahasa pemograman.
 Ada Input
 Ada proses
 Ada Output
 Memiliki Instruksi-Instruksi yang
jelas dan tidak Ambigu
 Harus mempunyai Stoping Role
 Algoritma bersifat independen berasal dari bahasa
pemrograman dan juga komputer yang
melaksanakannya artinya pembuatan algoritma
tidak tergantung pada bahasa pemrograman
manapun.
 Membuat notasi algoritma bisa diterjemahkan ke
dalam bahasa pemrograman yang beragam
 Output yang akan dikeluarkan sama meskipun
menggunakan bahasa pemgrograman yang
berbeda
 Notasi dalam teks algoritma disebut dengan notasi
algoritmik, dalam pembuatannya bisa dalam berbagai bentuk
notasi karena notasi untuk algoritma tidak baku;
 Notasi algoritmik bisa dibuat sendiri dan setiap orang bisa
membuat notasi algoritmiknya sendiri asalkan mudah
dipahami secara umum;
 Pseudocode yang ada pada notasi algoritmik harus ditranslate
terlebih dahulu ke dalam bahasa pemrograman supaya bisa
dijalankan pada komputer,
 Algoritma akan sangat membantu dalam memecahkan atau
mengkonversikan masalah yang ada pada bahasa
pemrograman,
 Algormitma pentuk ditranslate terlebih dahulu dalam
bentuk notasi bahasa pemgrogaraman.
 Ini adalah bagian terpentingnya, karena dibalik semua dasar
yang terdapat di algoritma, tentu saja perlu dengan penulisan
bahasa algoritma, berikut akan dibahas secara detail.
 Untuk menjadi seorang pemrograman mesin komputer,
seseorang harus mengerti konsep algoritma dan
merancangnya.
 Ada beberapa metode penulisan dalam merancang algoritma,
yaitu:
◦ Menggunakan bahasa alami atau natural languange (bahasa
inggris, indonesia, dan bahasa lainnya)
◦ Menggunakan bagan alir dokumen atau flowchart, dan
◦ Menggunakan notasi Pseudocode
 1. Bagian kepala atau Header
◦ Bagian ini menandakan awal permulaan sebuah algoritma
biasanya berisi judul algoritma yang mewakili spesifikasi program.
Sebaiknya dengan penulisannya lebih ringkas dan padat, namun
memberikan gambaran jalannya program yang dikerjakan
 2. Bagian pendeklarasian
◦ pada bagian ini merupakan tahap pernyataan dan penentuan
berbagai jenis variabel, konstanta, dan tipe data bentukan yang
selanjutnya akan digunakan pada badan utama program
 3. Bagian Badan Algoritma
◦ Bagian ini menunjukkan untaian proses yang dilakukan. Biasanya
berupa proses computing(perhitungan), Perulangan, Penyelesaian,
maupun proses pencetakan output program pada peranti output,
misalnya monitor.
 Untuk memberikan gambaran tentang algoritma ini,
berikut diberikan contoh suatu permasalahan,
 Misalkan proses penggantian ban mobil yang bocor
◦ Lepaskan baut-baut roda
◦ Pasang dongkrak dan naikkan
◦ Lepaskan ban bocor
◦ Ambil dan Pasang ban cadangan
◦ Pasang baut-baut roda
◦ Turunkan dongkrak
◦ Periksa baut-baut roda
◦ Simpan Ban bocor
START

Lepaskan baut-baut roda

Pasang dongkrak dan naikkan

Lepaskan roda

Pasang ban cadangan

Pasang baut-baut roda

Turunkan dongkrak

STOP
 Setelah flowchart digambarkan harus diperiksa apakah masih
dapat disempurnakan
 Setiap kotak flowchart merupakan satu langkah elementer
 Seperti pada “Pasang ban cadangan”, perlu diperiksa dulu
apakah ban cadangan bocor/ tidak? Bila bocor maka tambal
dulu, lihat gambar dibawah
 Urutan yang benar merupakan pilihan, sehingga
permasalahan dapat diselesaikan dengan cepat, misalkan
apakah melepaskan baut-baut dulu atau memasang dan
menaikkan dongkrak?
Ban cadangan Yes
bocor?

No

Pasang ban cadangan Tambal dulu


 Algoritma yang digunakan
untuk menyelesaikan
permasalahan yang
berhubungan dengan
angka-2/ numerik, seperti
pada persamaan
matematika, akuntansi,
rangking siswa dll.
 Contoh:
 segitiga mempunyai 3 sisi,
yaitu a, b dab c, ketiganya
positif, bagaimana
menentukan segitiga
tersebut siku-2/ tidak?
 formula phytagoras:
 siku = | c2 – (a2 + b2) |, bila
siku mendekati 0.1 maka
siku-siku.
Terminator Predefine Preparation

Start/ Stop I = 0, J= 1 i=0; i<10; i++

Process Data
Decision

I=I+N Input/ Output


A>B

Connector Off page connector

1 2
START START

I=0, N=1 I=0, N=1

READ N READ N

I=I+N I=I+N PRINT I

PRINT I Y
I<10
N
STOP
STOP
 Algoritma
Start
◦ Baca harga a, b, c
◦ Hitung siku dengan Baca a, b, c
formula phytagoras
◦ Apakah siku lebih kecil S = |c2-(a2+b2)|
dari 0.1
 Bila “ya” cetak “siku- Y
siku” S<=0.1

 Bila “tidak” cetak N


Cetak “Tidak Cetak
“Tidak siku-siku” Siku-Siku” “Siku-siku”

Stop
Permasalahan
Penyelesaian Algoritma
Pemrogram
Pengujian
Dokumentasi
Perawatan
 Menentukan apa yang akan dikerjakan/
diselesaikan, yaitu menentukan input dan
output dari program yang akan dibuat.
 Hukum Murphy dari Henry Ledgrad:
◦ Semakin cepat program ditulis maka akan semakin
lama menyelesaikannya.
 Pemilihan algoritma yang tepat
 Misal
◦ Memilih metode penyelesaian
◦ Pemilihah pengerjaan berulang
◦ Penggunaan rekursif
 Pemilihan program yang digunakan, sesuai
dengan keperluan.
 Misal
◦ Untuk memproses dengan kecepatan tinggi
digunakan Bahasa C++,
◦ Untuk memproses basis data digunakan Bahasa
Database seperti Cobol, dBase, FoxPro, Visual Basic,
◦ Untuk membuat animasi digunakan bahasa Flash.
 Pengujian dilakukan dengan melihat hasilnya,
apakah sudah sesuai dengan yang diinginkan,
baik input dan outputnya.
 Dituliskan pada script program berupa
catatan pendek,
 Dibuat dalam bentuk teks tersendiri yang
terpisah dari program,
 Mencetak diatas kertas untuk disimpan
sebagai dokumen tertulis.
 Setelah program digunakan, bisanya terdapat
bug yang tidak disangka, untuk itu perlu
adanya penambahan atau perbaikan.
 Revisi dapat dilakukan, misalkan
penambahan fungsi baru atau karena
perubahan kebijaksanaan.
 Untuk memulai pembuatan suatu program maka harus
dikenal dulu tanda-tanda bahasa komputer, yaitu
dinyatakan dalam bentuk ABJAD dan ANGKA
(ALFANUMERIS) serta tanda-tanda khusus.
 Tanda-tanda tersebut digunakan sebagai tempat
penyimpan/ wadah (variabel), angka-angka (konstanta),
operator-operator (tambah, kurang, kali, bagi, modulus/
sisa) dan lain sebagainya.
 Tanda ABJAD ada 26 huruf yaitu: A-Z
 Tanda NUMERIK ada 10 angka yaitu: 0-9
 Tanda-tanda khusus ada 32 yaitu: ~ ` ! @ # $ % ^ & * ( ) _
-+=\|{}[]:;“‘<>,.?/
 ! Exclamation mark  ; Semicolon
 “ Quotation mark  < Less then
 # Number sign  = Equal
 $ Dollar sign  > Greater than
 % Percent sign  ? Question mark
 & Ampersand  @ Commercial at
 ‘ Apostrophe  [ Opening bracket
 ( Opening parenthesis  \ Back slash
 ) Closing parenthesis  ] Closing bracket
 * Asterisk  ^ Circumflex
 + Plus  _ Underscore
 , Comma  ` Grave accent
 - Hypen (minus)  { Left brace
 . Decimal point  } Right brace
 / Slash  ~ Tidle
 : Colon  | Vertical Line (Or)
 Adalah suatu angka/ bilangan yang nilainya tidak berubah
selama pelaksanaan jalannya program,
 Konstanta dinyatakan dalam bentuk numerik dan tipenya
dinyatakan sebagai bulat (integer) atau pecahan (real/float),
 Konstanta bulat adalah suatu konstanta yang tidak mempunyai
tanda titik desimal, contohnya 5, 28, 46, 255, 8165 dan
sebagainya,
 Konstanta pecahan adalah suatu konstanta yang mempunyai titik
desimal, contohnya seperti 8255.373, 8080.741, 10.252, dan
sebagainya
 Untuk menghindari penggunaan jumlah angka yang terlalu
banyak, maka digunakan notasi e/ E, yang diikuti satu atau dua
digit konstanta integer bertanda atau tidak bertanda, contohnya
259.12E06, 347.1E-05, dan sebagainya.
 Adalah simbol yang menyatakan suatu besaran tertentu. Nilai
suatu variabel dapat berubah-ubah selama pelaksanaan
program,
 Panjang dari variabel ditentukan oleh paket program dari bahasa
yang bersangkutan, misalnya FORTRAN membatasi panjang
varibelnya hanya 6 karakter saja, PASCAL dan C panjang
variabelnya hingga 32 karakter,
 Variabel tidak boleh menggunakan tanda spasi, dan tanda-tanda
khusus seperti { } ( ) ^ * / + - , < > ? ; ‘ “ : [ ] = \ | ^ @
(tergantung aplikasi program)
 Penggunaan huruf besar dan kecil adalah sama, tetapi pada
Bahasa C berbeda, A dengan a adalah dua nama variabel yang
berbeda (case sensitive)
 Variabel harus dimulai dari Huruf kemudian dapat diikuti dengan
huruf atau angka dan tanda khusus _ (underscore).
 Oleh karena komputer adalah berbasis listrik, maka
komputer hanya akan mengenal kata “on/off” (nyala-
hidup, sambil tangan digerakkan buka tutup ), sehingga
komputer hanya mengenal angka 0 dan 1 saja (bilangan
dasar 2),
 Sedangkan manusia sudah terbiasa mengenal sampai 10
digit angka (bilangan dasar 10), agar komputer dapat
berkomunikasi dengan manusia maka diperlukan konversi
bilangan,
 Ada 3 Konversi bilangan yang sering digunakan, yaitu
Desimal↔Biner, Desimal↔Hexadesimal, dan
Biner↔Hexadesimal
 Desimal(10) → Biner(2)
◦ Konversi dilakukan dengan membagi bilangan
desimal dengan dasar bilangan yang menjadi tujuan
konversi yaitu 2, secara terus menerus sampai
bilangan desimal menjadi nol, contoh: 25/2 = 12
sisa 1, 12/2 = 6 sisa 0, 6/2 = 3 sisa 0, 3/2 = 1 sisa
1, 1/2 = 0 sisa 1, kemudian sisa dibaca dari
belakang sehingga terbaca 11001
 Biner(2) → Desimal(10)
◦ Konversi dilakukan dengan menjumlahkan (sigma)
perkalian bilangan biner satu persatu dari kanan
dengan dasar bilangan (dengan 2) yang
dipangkatkan dengan angka mulai dari nol
kemudian dinaikkan satu sampai digit bilangan
terakhir, contoh 11001 = 1x24 + 1x23 + 0x22 +
0x21 + 1x20 = 25
 Desimal(10) → Hexadesimal(16)
◦ Bilangan Hexadesimal adalah terdiri dari dua dasar
bilangan yaitu Hexa dan Desimal sehingga
mempunyai 16 digit angka, yaitu 0-9 dan A-F
◦ Seperti hanyak konversi dari desimal ke biner, maka
dilakukan dengan membagi bilangan desimal dengan
dasar bilangan tujuannya yaitu 16, contoh 168/16 =
10 sisa 8, 10/16 = 0 sisa 10, sehingga dibaca dari
belakang menjadi 10 8 yaitu A8
 Hexadesimal(16) → Desimal(10)
◦ Untuk mengkonversi balik maka dilakukan dengan
mengalikan dengan 16 yang dipangkatkan dengan
n, mulai dari 0 dan seterusnya.
◦ Misal A3E516
=10*163 + 3*162 + 14*161 + 5*160
=40960 + 768 + 224 + 5
= 41957
 Biner (2) → Hexadesimal(16)
◦ Konversi dilakukan dengan mudah dengan
mengelompokan 4 digit Biner sebagai 1 digit Hexa,
◦ Contoh:
◦ 1110 0000 0011 0000 2 = E03016
 Hexadesimal(16) → Biner (2)
◦ Konversi dilakukan sama, yaitu empat digit Biner
menjadi satu digit Hexa.
◦ Contoh:
◦ ABAB16 = 1010 1011 1010 10112
128 64 32 16 8 4 2 1

0 1 0 1 0 1 0 1

87
 Telah dipelajari tentang
◦ Pengertian Algoritma
◦ Bentuk-Bentuk Flowchart
◦ Pengantar Pemrograman
 Variabel, konstanta dan tanda-2 khusus
◦ Langkah-2 Pemrograman
◦ Konversi Bilangan
Bilangan Bulat
Bilangan Pecahan
Karakter dan String
Boolean
Array
Pointer
- int → integer (-32768 s/d 32767)
- short → sama dengan int
- unsigned int → (0 s/d 65535)
- unsigned short → (0 s/d 65535)
- long → (-2.147.483.648 s/d +2.147.483.647)
- char → (-128 s/d +128)
- unsigned char → (0 s/d 255)
 int a;  int a, b;
 int b;  a = 6789;
 a = 1234;  b = -9876;
 b = -4321
 short c, d;
 char e, f;  c = 32767;
 e = 127;  d = -32768;
 f = -128;
 - float → (1.5E-45 s/d 3.4E+38)
 - double → (5.0E-324 s/d 1.7E+308)
 float e, f;  float x = 2.9e+38;
 e = f = 1.7E+5;
 Float y = 1.9e+308
 double b,d;
 b = d = 2.7E-38;
- char → (’a’ … ’z’, ’A’ … ’Z’, ’0’ … ’9’)
- char [n] → (”PENS ITS SURABAYA”)
- char [m][n] → {(”PENS”), (”ITS”), (”SBY”)}
 char ch;
 ch =’a’;

 char cj = ’j’;

 char cs[9];
 strcpy(cs,”PENS ITS”);

 char ar[3][5] = {”PENS”,”ITS”,”SBY”};


 bool → (true, false)
 bool t, f;
 t = true;
 f = false;

 f=(5>8);  false
 int *
 long int *
 float *
 double *
 char *
 int *p, *q;
 *p = 1234;
 *q = -4321;
Assignment/ sama dengan
Aritmatika
Boolean
Comparation/ Perbandingan
Bit
 a = 3;
 b = 2;
 c = 3;
 d = 0;
 x = y = z = 0;
 m = -n; → invers, membalik dari + ke -
 k = +j; → tidak digunakan karena artinya sama
yaitu k = j;
 a = a + 1; →  a++;
 b = b + 5; →  b+=5;
 y = y – 1; →  y--;
 y = y – 5; →  y-=5;
 a = a * 5;
 a = a * b;
 x = x / 5;
 y = y / x;
 a = a && 2;
 b = b && 3;  a = 5 && 2;
 → a = true && true
 → a = 1 (true)
&& 0 1
 a = 7 && 0;
0 0 0  → a = 0 (false)

1 0 1
 a = a || 2;
 a = b || 3;  a = 5 || 2;
 → a = true || true
 → a = 1 (true)
|| 0 1
 a = 7 || 0;
0 0 1  → a = 1 (true)

1 1 1
m = 2 && 5;  m → true
n = 7 && 0;  n → false
p = 8 || 5;  p → true
q = 9 || 1;  q → true
r = (2 > 3) && (4 < 5)  r → true
s = (1 < 8) && (2 > 7)  s → false
t = (7 > 3) || (9 < 5)  t → true
u = (5 < 4) || (2 > 7)  u → false
a = (3 == 8);  a → false
b = (5 == 5);  b → true
c = (6 > 7);  c → false
d = (2 < 9);  d → true
e = (8 != 3);  e → true
f = (9 != 9);  f → false
g = (5 <= 9);  g → true
h = (6 >= 3);  h → true
 a = a & 2; →  a &= 2;
 b = b & 3; →  b &= 3;

 a = 5 & 2;
& 0 1  → a = 101 & 010
 →a=0
0 0 0
 a = 7 & 3;
1 0 1  →a=3
 a = a | 2; →  a |= 2;
 b = b | 3; →  b |= 3;

 a = 5 | 2;
| 0 1  → a = 101 | 010
 →a=7
0 0 1
 a = 7 || 0;
1 1 1  →a=7
 a = a ^ 7; →  a ^ = 7;
 a = b ^ 8; →  b ^ = 8;

 A = 7 ^ 3;
^ 0 1  → a = 111 ^ 011
 →a=4
0 0 1
 A = 7 | 5;
1 1 0  →A=2
 a = 11001100
 a = a >> 1; →  a >> = 1;
◦ a → 01100110

 b = 11001100
 b = b << 1; →  b << =1;
◦ b = 10011000