PEMPROGRAMAN DASAR
Pokok-pokok Materi :
1. Alur Logika Pemrograman Komputer
2. Perangkat Lunak Bahasa Pemrograman
3. Alur Pemrograman dengan Struktur Bahasa Pemrograman Komputer
4. Penggunaan tipe data, variabel, konstanta, operator, dan ekspresi
5. Operasi Aritmetika dan Logika
6. Struktur Kontrol perbangan dalam Bahasa Pemrograman
7. Struktur control Perulangan dalam Bahasa pemrograman
8. Penggunaan Array untuk Menyimpan Data di Memori
9. Penggunaan Fungsi
1
Uraian Materi
2. Definisi Alogaritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis dan logis”. Kata Logis merupakan kata kunci dalam
Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat
ditentukan bernilai salah atau benar. Penyajian algoritma secara garis besar bisa
dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan
dengan tulisan yaitu pseudo code. Selanjutnya algoritma disajikan dengan
gambar, yaitu dengan Flowchart.
Mulai
Ambil Handphone
Nyalakan Handphone
Buka Aplikasi WhatsApp jika sudah terinstal. Jika belum download
aplikasinya
Pilih kontak penerima pesan
Tulis pesan
Kirim pesan
Selesai
2
b. Flowchart (Diagram Alir)
Flowchart atau bagan alir adalah gambar atau bagan yang memperlihatkan
urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini
dinyatakan dengan simbol.
Berikut adalah simbol flowchart yang sering digunakan:
Contoh flowchart:
3
Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu
1) Struktur runtutan/beruntun: digunakan untuk program yang
pernyataannya sequential atau urutan. Contoh flowchart untuk
menghitung luas segitiga:
4
3) Struktur perulangan: digunakan untuk program yang pernyataannya akan
di eksekusi berulang-ulang. Contoh flowchart untuk mencetak pernyataan
sebanyak 100x.
5
4) Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi
berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if,
for, while, and, or. Komputer dapat mengerti bahasa manusia itu
diperlukan program compiler atau interpreter.
6
2. Pengenalan IDE Dev C++
IDE (Integrated Development Environment) merupakan Lembar kerja
terpadu untuk pengembangan program. IDE dari Dev C++, digunakan untuk:
a) Menulis naskah program.
b) Mengkompilasi program (Compile)
c) Melakukan pengujian program (Debugging)
d) Mengaitkan Object dan Library ke Program (Linking )
e) Menjalankan program (Running)
7
3. Menjalankan Dev-C++
a. Membuat File Baru
8
1) Kik Menu Project Compile
2) Menekan HotKey Ctrl + F9
Selanjutnya tampil kotak dialog compile, seperti dibawah ini :
9
C. Alur pemrograman struktur bahasa pemrograman komputer
#include <stdio.h>
int main(void)
{
Printf("Hello, World!\n"); /* error !! */
return 0;
}
Untuk penulisan variabel juga akan berbeda antara huruf besar dan kecil.
Variabel jumlah, JUMLAH, dan Jumlah adalah 3 variabel yang berlainan.
#include <stdio.h>
int main(void)
{
/* Tampilkan pesan Hello World */
printf("Hello, World!\n");
return 0;
}
10
a. Pengertian Statement dalam Bahasa Pemrograman C
x = 6;
y = "Duniailkom";
z = 5+3;
2+3;
puts("Duniailkom");
root2 = sqrt(49);
Sebuah statement tidak harus mencakup satu baris. Perintah kondisi seperti if
else dan perulangan (looping) bisa mencakup beberapa baris, dan ini dianggap
sebagai satu statement:
if( x == "Duniailkom") {
printf("Belajar Bahasa C di Duniailkom");
}
Statement yang terdiri dari beberapa baris seperti ini, biasanya diawali
dengan tanda kurung kurawal ” { ” dan diakhiri dengan tanda ” } “. Bagian ini juga
sering disebut sebagai blok kode program.
Keyword adalah kata kunci yang menjadi dasar perintah bahasa C. Keyword
ini tidak bisa digunakan sebagai identifier (variabel, konstanta maupun nama dari
sebuah fungsi. Sebagai contoh, perhatikan statement berikut:
int jumlah;
return 0;
Disini, kata int dan return merupakan keyword dan memiliki makna tertentu dalam
bahasa C.
11
Tabel 3. 1 Keyword Dalam Bahasa Pemrograman C
int jumlah;
double total_penjualan;
1. Tipe Data
Tipe data adalah himpunan nilai yang dapat dimiliki oleh sebuah data. Tipe
data menentukan sebuah nilai dapat dimiliki sebuah data atau tidak, serta operasi
apa yang dapat dilakukan pada data tersebut. Contoh tipe data dalam dunia nyata
adalah bilangan bulat. Berikut merupakan contoh beberapa tipe data dasar: a.
12
Integer/bilangan bulat, b. Real/ bilangan riil, c. Char/ Karakter, d. String, e.
Boolean/ bilangan logika.
2. Variabel
Variabel adalah ‘penanda’ identitas yang digunakan untuk menampung
suatu nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis,
variabel merujuk kepada suatu alamat di memori komputer. Setiap variabel
memiliki nama yang sebagai identitas untuk variabel tersebut. Ketika akan menulis
variabel, dalam hampir semua bahasa pemrograman terdapat 2 proses: deklarasi
dan inisialisasi.
3. Konstanta
Pada variabel, nilai yang disimpan dapat berubah-ubah selama program
dijalankan. Untuk konstanta, nilai yang disimpan tetap dan tidak dapat diubah
sejak dideklarasikan hingga program berakhir. Setelah sebuah konstanta
dideklarasikan, konstanta dapat digunakan dalam program dan nilainya selalu
tetap. Deklarasi konstanta dalam flowchart digambarkan sebagai sebuah proses.
iMaks = 100
fPi = 3.14
sSapa = `Hello’
4. Operator
Operator adalah notasi yang dipakai untuk melaksanakan suatu operasi
terhadap data dan identifier (operand). Berikut adalah beberapa kategori operator
yang sering digunakan di dalam bahasa pemrograman dan algoritma:
a. Operator Aritmatika
Tabel 3. 2. Operator Aritmatika
Operator Nama Contoh Hasil
+ Penjumlahan z=x+y Penjumlahan dari x dan y
- Pengurangan z=x–y Selisih dari x dan y
* Perkalian z=x*y Perkalian dari x dan y
/ Pembagian z=x/y Pembagian x oleh y
% Modulus z=x%y Sisa dari x dibagi y
++ Increment x++ Sama dengan x = x+1
-- Decrement x-- Sama dengan x = x-1
13
b. Operator Bitwise
Tabel 3.3: Operator Bitwise
Dalam biner
Operator Nama Contoh Hasil Biner Hasil Decimal
(4bit)
& AND x=5&1 0101 & 0001 0001 1
| OR x=5|1 0101 | 0001 0101 5
~ NOT x=~5 ~0101 1010 10
^ XOR x=5^1 0101 ^ 0001 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2
b. Operator Logika
Tabel 3. 3. Operator Logika
Operator Nama Contoh Hasil
&& And a && b benar jika a and b bernilai benar
|| Or a || b benar jika salah satu a atau b bernilai benar
! Not !a benar jika a tidak benar
c. Operator Penugasan
Tabel 3. 4. Operator Penugasan
Operator Penugasan Sama dengan Deskripsi
= x=y x=y variabel x memperoleh nilai dari variabel y
+= x += y x=x+y variabel x memperoleh nilai dari x + y
-= x -= y x=x–y variabel x memperoleh nilai dari x – y
*= x *= y x=x*y variabel x memperoleh nilai dari x * y
/= x /= y x=x/y variabel x memperoleh nilai dari x / y
%= x %= y x=x%y variabel x memperoleh nilai dari x % y
<<= x <<= y x = x << y variabel x memperoleh nilai dari x << y
>>= x >>= y x = x >> y variabel x memperoleh nilai dari x >> y
&= x &= y x=x&y variabel x memperoleh nilai dari x & y
|= x |= y x=x|y variabel x memperoleh nilai dari x | y
^= x ^= y x=x^y variabel x memperoleh nilai dari x ^ y
d. Operator Perbandingan
Tabel 3. 5. Operator Perbandingan
Operator Nama Contoh Hasil
== Sama dengan a == b benar jika a sama dengan b
!= Tidak sama dengan a != b benar jika a berbeda dengan b
> Lebih besar a>b benar jika a lebih besar dari b
< Lebih kecil a<b benar jika a lebih kecil dari b
>= Lebih besar atau sama a >= b benar jika a lebih besar atau sama
dengan dengan b
<= Lebih kecil atau sama a <= b benar jika a lebih kecil atau sama
dengan dengan b
14
D. Operasi aritmatika dan logika
1. Operasi Aritmatika
2. Operasi Logika
a. Operator Logika AND
15
b. Operator Logika OR
16
F. Struktur kontrol percabangan dalam bahasa pemrograman
17
2. Statemen if…else
Bentuk Umum:
#include <stdio.h>
int main (){
int nilai;
printf("masukkan nilai anda: ");
scanf ("%d", &nilai);
if(nilai>60){
printf("Lulus"); }
else {
printf("Tidak Lulus");}
return 0;}
Outputnya: Anda Mendapat Nilai A
3. Statemen if bersarang
Struktur If tersarang (nested If) merupakan bentuk dari suatu statemen If
berada di dalam lingkungan statemen If lainnya.
Berikut ini sintaks untuk statement if bersarang
if (kondisi2)
18
4. Statemen Switch
Statemen switch memungkinan sebuah variabel diperiksa kesamaannya
dengan daftar nilai-nilai yang ada. Setiap nilai dalam daftar disebut case. Berikut
ini sintaks statement switch:
#include <stdio.h>
int main(){
printf(“Masukkan grade anda (KAPITAL) [A/B/C/D] : “);
scanf(“%c”, &grade); fflush(stdin);
switch(grade){
case ‘A’ :
printf(“Very Good! Nilai anda A”);
break;
case ‘B’ :
printf(“Good! Nilai anda B”);
break;
case ‘C’ :
printf(“Okay! Nilai anda C”);
break;
case ‘D’ :
printf(“Very Good! Nilai anda A”);
break;
default :
printf(“Kami tidak mengenali grade anda”);
break;}
getchar();
return 0;}
Jika nilai inputannya berupa karakter A maka Outputnya: Very Good! Nilai anda
A
19
c) Ada kondisi awal dan kondisi akhir. Perulangan dimulai dari kondisi awal,
naik secara bertahap dan berhenti saat mencapai kondisi akhir.
d) Menaikkan dan menurunkan kondisi per- ulangan dilakukan dengan
operator increment, decrement, dan ekspresi matematika.
2. While
Beberapa karakteristik struktur While adalah sebagai berikut:
a) Dilakukan pengecekan kondisi terlebih dahulu sebelum dilakukan
perulangan. Jika kondisi yang dicek bernilai benar (true) maka perulangan
akan dilakukan. Jika kondisi yang diperiksa bernilai salah (false) maka
perulangan tidak dilakukan. Ada kemungkinan tidak dikerjakan.
b) Blok pernyataan tidak harus ada. Struktur tanpa statement akan tetap
dilakukan selama kondisi masih true.
c) Perulangan akan terus dilakukan sampai kondisi false.
Adapun bentuk umum perulangan While yang memilih lebih dari satu pernyataan
adalah sebagai berikut:
while (kondisi)
{
Pernyataan_1;
Pernyataan_n;
Pernyataan_pengaturan_kondisi;
}
20
3. Nested While
Beberapa algoritma menggunakan struktur perulangan kompleks adalah
masalah matrix yang menggunakan array 2 dimensi, masalah game board seperti
catur dan minesweeper, ataupun masalah pengolahan citra digital seperti
algoritma untuk mendeteksi tepi citra, algoritma untuk mengubah citra berwarna
menjadi grayscale, atau berbagai hal lain. Masalah yang dapat diselesaikan
menggunakan perulangan kompleks biasanya memiliki pola grid yang memiliki
lebar dan panjang. Perulangan yang dikerjakan terlebih dahulu adalah perulangan
yang berada di dalam inner loop program lengkapnya dapat dilihat pada Gambar
3.11.
21
do
{
Pernyataan_1;
…….
Pernyataan_n;
}
while (kondisi);
Contoh perulangan dengan pernyataan Do While dapat dilihat pada Gambar 3.12.
22
Ketiga ekspresi dalam For tersebut harus dipisahkan dengan titik koma (;).
Pernyataan dalam For dapat berupa pernyataan tunggal maupun jamak (lebih dari
satu). Jika pernyataannya berbentuk jamak, maka pernyataan-pernyataan
tersebut harus diletakan didalam satu blok dengan memakai tanda kurung kurawal
seperti berikut:
for (inisialisasi;kondisi;pencacah) {
pernyataan_1;
pernyataan_2;
………
Pernyataan_n;}
Berikut ini contoh perulangan dengan pernyataan For
#include <stdio.h>
int main(){
int i, n = 10;
for (i=5; i<n; i++) {
printf("%d", i);
}
1. Definisi Array
Deklarasi larik berisi tipe data larik, nama larik, dan jumlah maksimum
elemen yang dapat ditampungnya. Bahasa Java tidak membatasi jumlah dimensi
array yang bisa digunakan. Hal ini semata-mata dibatasi jumlah memori komputer
yang tersedia.
23
a) Array dimensi satu Array adalah merupakan sebuah deklarasi variabel
yang digunakan untuk menyimpan sekumpulan data yang memiliki tipe
sama dan elemen yang akan diakses hanya melalui 1 indeks.
b) Array dimensi dua Array adalah merupakan sebuah deklarasi variabel yang
digunakan untuk menyimpan sekumpulan data yang memiliki tipe sama
dan elemen yang akan diakses hanya melalui 2 indeks.
c) Array multidimensi Array adalah merupakan sebuah deklarasi variabel
yang digunakan untuk menyimpan sekumpulan data yang memiliki tipe
sama dan elemen yang akan diakses hanya melalui banyak indeks.
Misal array bisa digambarkan sebagai sebuah almari yang didalamnya ada
beberapa laci. Almari di anggap sebagai array, sedangkan laci di anggap sebagai
indek array yang sudah dikasih nomer. Gambar di bawah di umpamakan ada dua
buah almari (array) yaitu almari A dengan delapan laci dan almari B dengan
delapan laci juga.
24
b) Random Access: Setiap elemen di dalam struktur array dapat dicapai
secara individual, langsung ke lokasi elemen yang diinginkan, tidak melalui
elemen pertama.
c) Indeknya terdefinisi: Dalam mengakses indek data array terdefinisi dengan
benar.
d) Data tunggal: Dalam setiap menyimpan data dalam indek array, hanya bisa
dengan data tunggal atau satu data saja.
e) Default value array: Array yang di definisikan boleh memiliki indek yang di
luar kebutuhan dan secara default terisi dengan nilai default sesuai tipe
data array.
2. Deklarasi Array
Array pada Java adalah sebuah object, maka harus dideklarasikan
menggunakan kata kunci new. Index dimulai dari 0 sampai jumlah element – 1.
Sintaks deklarasi array dimensi satu: type nama_arrray[] = new tipe[Nilai_dim];
Contoh :
nama_larik[indeks_larik]
A[2]
Bila elemen A[2] hendak ditampilkan di layar monitor, gunakan statemen sebagai
berikut:
25
System.out.printf(“%d”,A[2]) atau
System.out.println(A[2]);
Dalam contoh ini kita mengisi variable array A indek ke 6 dengan data 15, dan
mengisi indek ke 3 dengan data 27. Visualisasi array ditunjukkan pada gambar 4
dimana pelabelan indek array dalam java dimulai dari 0. Sehingga ketika array A
dideklarasikan memiliki indek 10 maka label indek tertinggi adalah 9 bukan 10
karena indek array dimulai dari indek ke 0.
26
Untuk mengisi data dalam array bisa menggunakan perulangan. Berikut contoh
code untuk mengisi data dalam array menggunakan perulangan:
5. Inisialisasi Array
Array dapat diinisialisasi secara eksplisit pada saat didefinisikan dan bisa
dilakukan tanpa memberikan nilai dimensinya.
Contoh:
Contoh:
H. Penggunaan fungsi
27
Alasan lain untuk menggunakan fungsi adalah untuk fungsi menyederhanakan
program. Jika tugas tertentu dilakukan di beberapa tempat di sebuah program,
sebuah fungsi dapat ditulis sekali saja untuk melakukan tugas itu, dan kemudian
akan dijalankan kapan saja dibutuhkan. Ketika membuat sebuah fungsi, yang
harus ditulis adalah definisi. Semua definisi mempunyai bagian-bagian dibawah
ini:
1) Name: Setiap fungsi harus memiliki nama. Secara umum, peraturan yang
sama berlaku untuk nama variabel juga berlaku untuk nama fungsi.
2) Parameter list: Program modul fungsi panggilan yang dapat mengirim
data ke. Daftar parameter adalah daftar variabel yang memegang nilai
yang disampaikan ke fungsi.
3) Body: Badan fungsi adalah serangkaian pernyataan yang melaksanakan
tugas melakukan fungsi. Pernyataan ini akan ditutupi dalam satu set
braces.
4) Return type: fungsi dapat mengirim kembali ke nilai program modul yang
memanggilnya. Return type merupakan tipe data dari nilai yang dikirim
kembali.
Gambar di bawah menunjukkan definisi dari fungsi yang sederhana dengan
berbagai bagian berlabel. Perhatikan bahwa fungsi dari jenis kembali sebenarnya
tercantum pertama. Contoh program ini merupakan baris pendefinisian int main
( ) yang disebut function header.
28
yang ada didalam tubuh fungsi tersebut. Untuk lebih jelasnya lihat program
dibawah, yang berisi dua fungsi yaitu: Tampil pesan dan utama
Program 1.
#include <stdio.h>
#include <conio.h>
void TampilPesan() {
printf(” >>Salam Hello dari fungsi TampilPesan.\n"); }
int main() {
printf( "Hello dari program Utama.\n";
printf(-------------------------\n");
TampilPesan(); // memanggil TampilPesan
printf( "-------------------------\n");
printf("kembali ke Fungsi Utama lagi.\n");
getch();
return 0;
}
Outputnya
RANGKUMAN
Pemrograman adalah proses menulis, menguji dan memperbaiki (debug),
dan memelihara kode yang membangun suatu program komputer. Bahasa
pemrograman terbagi atas: (1) Bahasa pemrograman C; (2) Bahasa pemograman
JAVA; (3) Bahasa pemograman PYTHON. Dalam pemrograman komputer
terdapat struktur kontrol percabangan dan perulangan. Struktur kontrol
percabangan adalah kondisi dimana alir program memilih beberapa kemungkinan
solusi yang harus dilakukan dan struktur kontrol perulangan adalah proses
melakukan tindakan yang sama secara berulang-ulang sampai batas yang telah
ditentukan. Konsep array muncul, dimana hanya butuh nama satu variabel sudah
bisa digunakan untuk mewakili akses data tak terbatas ke memori komputer yang
di berikan dalam bentuk indek.
29
Fungsi pada hakekatnya adalah pemetaan dari setiap anggota himpunan
yang disebut domain kepada anggota himpunan yang disebut kodomain. Jadi
sebuah anggota domain akan dipetakan (oleh fungsi) kepada tepat satu anggota
kodomain. Parameter pada fungsi selalu merupakan parameter masukan (anggota
himpunan domain). Jenis parameter masukan pada fungsi disebabkan oleh
kenyataan bahwa parameter pada fungsi merupakan masukan yang digunakan
oleh fungsi tersebut untuk menghasilkan nilai. Ilustrasi dibawah ini dapat
memberikan gambaran lebih jelas tentang fungsi.
30