SlideShare a Scribd company logo
1 of 24
1
BAB I
PENGENALAN ALGORITMA
1.1 Apakah Itu Algoritma?
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh.
Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab.
Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa
berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli
sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab
yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi
dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al
Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of
restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar”
(Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism
sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata
algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum,
sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap
menjadi algoritma.
1.2 Definisi Algoritma
“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.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan
pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma
haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah
masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran
yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik
hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk
menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa
pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin
dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi
waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling
mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya,
algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang
cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin
buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang
berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam
menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian,
carilah algoritma yang paling efisien dan cepat.
2
1.3 Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis
dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah
program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman
manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan
komputer yang melaksanakannya.
 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
 Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena
algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi
algoritmik.
 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
 Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam
notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh
komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau
diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa
orang yang menulis program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya.
 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
3
 Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh
komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada
beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa
pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel
maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki
kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa
pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-
hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
1.4 Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode
yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih
tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada
pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart.
Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses
penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan
meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan
diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan
digunakan telah diketahui sejak awal.
1.5 Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan
antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan
4
demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses
digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan
kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram
yang bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media
lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
- Kaidah-Kaidah Umum Pembuatan Flowchart Program
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak.
Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah
dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu
pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri
atas 3 bagian utama, yaitu :
1. Input,
2. Proses pengolahan dan
3. Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum
menangani pemecahan persoalan.
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan
data yang dibaca.
4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
5
5. END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran :
1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga
jalannya proses menjadi singkat.
2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
pemrograman :
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.
Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas
persegi panjang.
Solusi : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
6
Keterangan :
1. Simbol pertama menunjukkan
dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa
input data dari p dan l.
3. Data dari p dan l akan diproses pada
simbol ketiga dengan menggunakan
perumusan L = p. l.
4. Simbol keempat menunjukkan hasil
output dari proses dari simbol ketiga.
5. Simbol kelima atau terakhir
menunjukkan berakhirnya program dengan tanda End.
1.6 Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut
dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi
(iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada
tiga, yaitu:
1. Struktur Runtunan
2. Digunakan untuk program yang pernyataannya sequential atau urutan.
3. Struktur Pemilihan
4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
5. Struktur Perulangan
6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman
manapun.
1.7 Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan
komputer adalah :
 Definisikan Masalah
 Buat Algoritma dan Struktur Cara Penyelesaian
 Menulis Program
 Mencari Kesalahan
 Uji dan Verifikasi Program
 Dokumentasi Program
 Pemeliharaan Program
7
BAB II
PENGENALAN BAHASA C
Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu:
Penjelasan :
1. Include
Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk
umumnya :
# include <nama_file>
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk
pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan
kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file
header) yaitu file yang berisi sebagai deklarasi contohnya:
- # include <iostream.h> : diperlukan pada program yang melibatkan objek
cout
- # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah
untuk membersihkan layar.
- # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat
untuk mengatur lebar dari suatu tampilan data.
- # include <math.h> : diperlukan pada program yang menggunkan operasi
sqrt () yang bermanfaat untuk operasi matematika
kuadrat.
2. Fungsi main ()
Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama
judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh
# prepocessor directive
void main()
{
// Batang Tubuh Program Utama
}
8
program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program
utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi.
Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang
coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi
main().
3. Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis
komentar, yaitu:
Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )
4.Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap
pernyataan harus diakhiri dengan sebuah tanda semicolon.
5. Mengenal cout(dibaca : C out)
Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk
mengarahkan data ke dalam standar output (cetak pada layar)
Contoh :
#include <iostream.h>
Void main ()
{
Cout << “HAI, selamat meggunakan C++ “;
}
Tanda “ << “ merupakan sebuah operator yang disebut operator
“penyisipan/peletakan”
2.1 Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
9
tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh
nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang
mempunyai sintaks sebagai berikut :
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai
berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah
(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain
: $, ?, %, #, !, &, *, (, ), -, +, =dsb.
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar :
NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah :
%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb
2.2 Deklarasi
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam
program. Identifier dapat berupa variable, konstanta dan fungsi.
2.2.1 Deklarasi Variabel
Bentuk umumnya :
Contoh :
int x; // Deklarasi x bertipe integer
char y, huruf, nim[10]; // Deklarasi variable bertipe char
float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer
variable = ekspresi
;
Nama_tipe nama_variabel;
10
Contoh :
#include <iostream.h>
Void main ()
{
Int ;
n=66; // sama juga jika ditulis int n=66;
cout<<n<<endl; //n sebagai variabel
cout<<’n’<<endl; // end sebagai karakter
}
Outputnya :
66
n
2.2.2 Deklarasi Konstanta
a. Menggunakan keyword const
Contoh : const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak dapat diubah
jika telah diinisialisasi
b. Menggunakan #define
Contoh : #define PI 3.14152965
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah
kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama
kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor
directive) dan mengganti semua Phi dengan nilai 3.14152965.
Contoh :
#include <iostream.h>
Void main ()
{
Const float phi = 3.14;
Float jari_jari, luas, keliling;
Jari_jari=7.0;
Luas = 0.5 * phi * jari_jari * jari_jari;
Keliling = 2 * phi * jari_jari;
11
Cout << “ Luas Lingkaran = “ << luas << endl;
Cout << “keliling lingkaran = “ << keliling;
}
2.3 Tipe Data
Tipe data dapat dikelompokkan menjadi atas dua macam :
1. Tipe Dasar.
2. Tipe Bentukkan.
2.3.1 Tipe Dasar
Adalah tipe yang dapat langsung dipakai.
Tipe Dasar Ukuran
Memori
(byte)
Jangkauan Nilai Jumlah Digit
Presisi
Char 1 -128 hingga +127 -
Int 2 -32768 hingga +32767 -
Long 4 -2.147.438.648 hingga
2.147.438.647
-
Float 4 3,4E-38 hingga 3,4E38 6-7
Double 8 1,7E-308 hingga
1.7E308
15-16
Long Double 10 3.4E-4932 hingga
1.1E4932
19
NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe)
Tipe data dapat diubah ( type cast ), misalkan:
float x = 3.345;
int p = int(x);
maka nilai p adalah 3 ( terjadi truncating ).
2.3.2 Tipe Bentukan
Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.
2.3.2.2 Tipe Struktur
Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri
dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
12
kemudahan dalam operasi.
Bentuk umumnya :
2.4 Operator Bahasa C
Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan
sesuatu operasi atau manipulasi.
2.4.1 Operator penugasan
Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan
(“=”).
Contoh :
nilai = 80;
A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan y.
2.4.2 Operator Aritmatika
Operator Deskripsi
+ Penjumlahan (Add)
- Pengurangan (Substract)
* Perkalian (Multiply)
/ Pembagian (Divide)
% Sisa Pembagian Integer
(Modulus)
2.4.3 Operator Hubungan (Perbandingan)
Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++.
tyedef struct{ tipe nama_field1;
tipe nama_field2;
tipe nama_field3;
. . . .
}nama_variabel;
13
Operator Arti Contoh
== Sama dengan (bukan assignment) X==y Apakah x sama dengan y
!= Tidak sama dengan X!=y Apakah x sama dengan y
> Lebih besar X > y Apakah x lebih besar dari y
< Lebih kecil X < y Apakah x lebih kecil dari y
>= Lebih besar atau sama dengan X >= y Apakah x kurang dari sama
dengan y
<= Lebih kecil atau sama dengan
2.4.4 Operator Naik Dan Turun ( Increment Dan Decrement )
Operator increment ++
Operator decrement --
Contoh :
#include <iostream.h>
Void main ()
{
Int m = 44, n =66;
Cout<<”m = “<<m<<”, n = “<<n<<endl;
++m; --n;
Cout<<”m = “<<m<<”, n = “<<n<<endl;
M++; n--;
Cout<<”m = “<<m<<”, n = “<<n<<endl;
}
Outputnya :
M = 44, n = 66
M = 45, n = 65
M = 46, n = 64
2.4.5 Operator Bitwise
Operator Deskripsi Contoh
<< Geser n bit ke kiri M << n
>> Geser n bit ke kanan M >> n
& Bitwise AND M & n
I Bitwise OR M I n
^ Bitwise XOR M ^ n
~ Bitwise NOT ~m
NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau
14
Char.
2.4.6 Operator Logika
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi
sebuah ungkapan berkondisi.
Operator Deskripsi Contoh
&& Logic AND M && n
II Logic OR M II n
! Logic NOT !m
2.4.7 Operator Unary
- : unary minus
++ : peningkatan dengan penambahan nilai 1
-- : penurunan dengan pengurangan nilai 1
Sizeof : Ukuran dari operand dalam byte
! : unary NOT
& : menghasilkan alamat memory operand
* : menghasilkan nilai dari pointer
2.5 Operator Input dan Output
 Menampilkan Data / Informasi Ke Layar
Untuk menampilkan data / informasi, fungsi yang digunakan adalah sama dengan
dengan turbo c, yaitu printf( ), puts( ), dan putchar( ).
1. Printf( )
Bentuk umum pernyataan printf adalah:
Printf(“string kontrol”, argumen1,argumen2,…);
String kontrol dapat berupa keterangan yang akan ditampilkan beserta penentu
format (seperti %d, %f, dll). Argumen adalah data yang akan ditampilkan ke layar
yang dapat berupa variabel, konstanta, bahkan ungkapan.
Misal:
Printf(“%d”,20); // argumen berupa konstanta
Printf(“%d”,a); // argumen berupa variabel
Printf(“%d”,a+20); // argumen berupa ungkapan
Contoh :
#include<stdio.h>
main()
15
{
unsigned int segmen_grafik=0xB800;
float x=251000.0;
printf("Nilai segmen grafik (oktal) : %on",segmen_grafik);
printf("Nilai segmen grafik (desimal) : %un",segmen_grafik);
printf("Nilai segmen grafik (heksadesial) : %xn",segmen_grafik);
printf("nFormat e -> %en",x);
printf("Format f -> %fn",x);
printf("Format g -> %gn",x);
}
2.Puts( ) dan Putchar( )
Fungsi puts( ) digunakan untuk menampilkan data string ke layar. Sifat fungsi ini
secara otomatis akan diakhiri dengan n (pindah baris). Berbeda dengan fungsi Putchar( )
yang khusus untuk menampilkan sebuah karakter dan tidak diakhiri dengan perpindahan
baris.
Contoh penggunaan:
Puts(“Belajar Turbo C++);
Putchar(‘A’);
 Memasukkan Data Dari Keyboard
Untuk input data digunakan fungsi scanf( ), getch( ) dan getche( ).
1. Scanf( )
Bentuk umum scanf( ) adalah:
Scanf(“string kontrol”, daftar argumen);
Untuk penentu format, bentuknya sama seperti pada printf( ). Sedangkan untuk
daftar argumen, haruslah berupa alamat yang ditambahkan tanda & (operator
alamat).
2. Getch( ) dan Getche( )
Fungsi getch( ) digunakan untuk membaca sebuah karakter, dengan sifat karakter
yang dimasukkan tak perlu diakhiri dengan ENTER. Disamping itu, karakter yang
dimasukkan tak akan ditampilkan pada layar.
Sedangkan fungsi getche( ), karakter yang dimasukkan akan ditampilkan pada
16
layar. Berikut ini contoh penggunaan fungsi getch( ) dan getche( ):
#include<stdio.h>
#include<conio.h>
main()
{
char huruf1,huruf2;
printf("Masukkan sebuah karakter: ");
huruf1=getche(); // karakter yang dimasukkan akan terlihat di layar
printf("nKarakter yang Anda masukkan adalah: %c",huruf1);
printf("nMasukkan sebuah karakter lagi: ");
huruf2=getch(); // karakter yang dimasukkan tidak terlihat di layar
printf("nKarakter yang Anda masukkan adalah: %c",huruf2);
getch();
}
17
BAB III
STRUKTUR KONTROL
3.1 Struktur Kondisi “If…”
Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu
kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka
pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum
struktur kondisi if adalah:
If(kondisi)
Pernyataan;
Buat program baru dan ketik code berikut:
#include<stdio.h>
main()
{
double tot_pemb,korting;
printf("Total Pembelian : Rp ");
scanf("%lf",&tot_pemb);
korting=0; // Tentukan nilai awal variabel korting
if(tot_pemb>=50000)
korting=0.5*tot_pemb;
printf("Besarnya Korting : Rp %.2lfn",korting);
}
Namun jika menggunakan if…else akan memuat dua perintah yaitu perintah dimana jika
penyataan terpenuhi dan tidak terpenuhi.
Penulisan :
if(kondisi)
else
//apabila statement A tidak terpenuhi
Contoh :
Bila jumlah mahasiswa yang membolos lebih dari 10 maka tampilkan hasil “tidak boleh
mengikuti ujian”,jika tidak maka “boleh mengikuti ujian”.
if(bolos>10)
printf(“tidak boleh ujian”);
else
printf(“boleh ujian);
jika ingin menggunakan alternatif kondisi lebih dari satu dapat digunakan else if.
18
Contoh:
if(ukuran>=80)
printf(“XL”);
else if(ukuran<=20)
printf(“M”);
else
printf(“S”);
3.2 Perulangan (Looping)
perulangan digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu
kondisi dipenuhi atau sebaliknya.
Proses looping yang menggunakan penghitungan dapat dibuat menggunakan pernyataan
FOR.
Bentuk umum :
for (ungkapan1; keadaan; ungkapan 3)
{
pernyataan;
}
Bentuk diatas berarti:
a) Ungkapan 1 adalah inisialisasi terhadap variabel pengendali looping
b) Keadaan adalah kondisi untuk keluar dari looping
c) Ungkapan 3 adalah pengatur kenaikan atau penurunan nilai variabel pengendali looping
Contoh :
#include
#include
void main ()
{
for (int n=10; n>0; n--)
{
cout<<”, “;
}
cout<<”STOP!”;
getch ();
}
Hasilnya adalah:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP!
3. Perintah do....while
Perintah ini menyatakan pengulangan proses selama kondisi tertentu.
Bentuk umum :
Do
{
Pernyataan;
Pernyataan;
}
19
While (keadaan)
Setiap loop dikerjakan maka kondisi akan dicek. Jika masih benar, proses loop dilakukan lagi
dan jika salah maka proses loop berhenti dan berlanjut pada perintah selanjutnya.
contoh:
#include
#include
void main ()
{
int a;
a =1;
do
{
cout<<”ayu”;
a++
} while (a<=5);
getch();
}
4. Perintah WHILE
Perintah WHILE prinsipnya sama dengan perintah DO...WHILE hanya pengujian kondisinya
terletak pada awal loop.
Bentuk umum:
While (keadaan)
Pernyataan;
Atau
While (keadaan)
{
Pernyataan;
Pernyataan;
}
 Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan yang dibatasi
dengan tanda {}.
 Pernyataan itu akan dijalankan jika kondisinya masih benar.
 Keadaan disini boleh merupakan sembarang pernyataan yang mengandung nilai suatu
variabel, pernyataan binari, pernyataan aritmatik, atau nilai return hasil dari
memanggil suatu fungsi.
Contoh:
#include
#include
void main ()
{
int n;
cout<<”masukkan angka untuk mulai : “;
cin>>n;
while (n>0)
{
cout<< n << “, “;
--n;
}
cout <<”STOP!”;
getch ();
}
20
Hasilnya adalah:
Masukkan angka untuk mulai : 4
4, 3, 2, 1, STOP!
5. Perintah CONTINUE
Perintah ini digunakan untuk mengarahkan jalannya program ke iterasi (proses) berikutnya
pada loop yang sama
Bentuk umum:
While (kondisi)
{
. . . .
. . . .
. . . .
CONTINUE;
. . . .
. . . .
}
. . . .
Contoh program perintah CONTINUE:
#include
#include
void main ()
{
for (int n=10; n>0; n--)
{
if (n==5) continue;
cout<<<”, “;
}
cout<<”STOP!”;
getch ();
}
Hasilnya adalah:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP!
6.Struktur Selektif (switch)
Logika menggunakkan switvh sama dengan logika menggunakkan if .
Bentuk Umum :
switch (pilihan)
{
case nilai 1:
blok pernyataan1
break;
case nilai 2 :
blok pernyataan nilai 2
break;
-
-
21
default :
blok pernyataan default
}
Contoh :
switch (a)
{
case 1:
cout<<”a adalah 1”;
break;
case 2:
cout<<”a adalah 2”;
break;
default:
cout<<”error”;
}
3.3 Array
Pengertian Array adalah tipe data terstruktur yang berguna untuk menyimpan sejumlah data
yang bertipe sama. Bagian penyusun aray disebut elemen array yang masing-masing elemen
dapat di akses tersendiri melalui index array yang dapat berupa integer atau string.
3.3.1 Deklarasi Array
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel yang diikuti
dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk
variabel array D di atas adalah:
Int d[7];
C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang
dideklarasikan,nomor indeks selalu dimulai dari 0. Nilai suatu variabel array dapat juga
diinisialisasi secara langsung pada saat deklarasi, misalnya:
Int d[7] = {-45, 0, 6, 72, 1543, 43, 4};
setiap lokasi memori dari variabel array c langsung diisi dengan nilai-nilai yang dituliskan di
dalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan banyaknya nilai
yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variabel array dengan
10 lokasi memori:
Int x[ ] = {10, 15, 12, 5, 13, 9, 6, 17, 25, 31};
Contoh program array
/*Program:array1. Cpp*/
#include
#define SIZE 12
main() {
int a [SIZE] = {1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total = 0;
for (indeks=0 ; indeks<=SIZE-1 ; indeks++)
total += a [indeks];
printf (“nTotal setiap elemen array adalah %d”, total);
return 0;
}
Bila program diatas dijalankan, akan muncul hasil:
Total setiap elemen array adalah 383
22
3.3.2 Array Dimensi Satu
Struktur array mempunyai satu dimensi, sehingga variabelnya disebut dengan variabel array
berdimensi satu
Bentuknya :
Tipe nama_var [ukuran];
Dengan:
Tipe : menyatakan jenis elemen array (int, char,unsigned, dll)
Ukuran : menyatakan jumlah maksimal elemen array.
Contoh:
Float nilai_angka[5];
Pada turbo C++, array disimpan dalam memori secara berurutan. Elemen pertama berindeks
nol digambarkan sebagai berikut :
Nilai_angka[0]
Nilai_angka[1]
Nilai_angka[2]
Nilai_angka[3]
Nilai_angka[4]
Masing-masing bertipe float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa:
Static int angka [9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
Sesuai dengan deklarasi array diatas, maka isi variabel array telah ditentukan yaitu:
angka[0] bernilai 1
angka[1] bernilai 2
angka[2] bernilai 3
angka[3] bernilai 4
angka[4] bernilai5
angka[5] bernilai 6
angka[6] bernilai 7
angka[7] bernilai 8
angka[8] bernilai9
}
3.3.3 Array Dimensi Dua
Array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik C berukuran 2 x 3 dapat dideklarasikan dalam C seperti
berikut:
int c[2][3] = {{2,4,1},{5,3,7}};
akan menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
23
Dan definisi variabel untuk setiap elemen tersebut adalah :
Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini:
Contoh program array dimensi dua
/*Program: array3 .cpp*/
#include
void printArray (int [] [3]),
main() {
int matrik1 [2] [3] = { {1, 2, 3}, {4, 5, 6} }
matrik2 [2] [3] = { 1, 2, 3, 4, 5},
matrik3 [2] [3] = { {1, 2}, {4} };
printarray (matrik1);
printarray (matrik2);
printarray (matrik3);
return 0;
}
void printArray (int a[] [3]) {
int i, j;
for (i=0; i<=1; i++) {
for (j=0; j<=2; j++)
printf(“%d”, a[i][j] );;
printf (“n”);
}
}
Bila program diatas dijalankan, akan muncul hasil:
123
456
123
450
120
400
3.3.4 Array Dimensi Banyak
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar.
Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu
kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang
penting.
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
24
DAFTAR PUSTAKA
http://ruly.blogdetik.com/2009/10/04/pengertian-dasar-logika-dan-algoritma/
http://yusriel.wordpress.com/2008/09/24/pertemuan-1-pengertian-dasar-logika-dan-
algoritma/
http://lecturer.ukdw.ac.id/anton/download/strukdat1.pdf
http://usupress.usu.ac.id/file
http://bab-01SDCpp-Tipedata.com/download
http://modul_terstruktur_d3/
http://www.cs.caltech.edu/~cs138/
http://www.lehigh.edu/~tkr2/teaching/ie170/
http://hercule.csci.unt.edu/~ian/classes/fall03/csci4450/info.html

More Related Content

What's hot

Proposisi Logika Matematika
Proposisi Logika MatematikaProposisi Logika Matematika
Proposisi Logika MatematikaTaufik_Yui
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi PengetahuanSherly Uda
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputerMiftahul Khair N
 
Makalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannyaMakalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannyaSeptian Muna Barakati
 
Modul 2 Physiological Performance
Modul 2 Physiological PerformanceModul 2 Physiological Performance
Modul 2 Physiological PerformanceDwi Andriyanto
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Makalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisiMakalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisiJoshuaMadewa
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum AlgoritmaEnvaPya
 
Laporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanaLaporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanasaniatyeva
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
Proposisi Logika Informatika
Proposisi Logika InformatikaProposisi Logika Informatika
Proposisi Logika InformatikaDeviGayatri
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...Uofa_Unsada
 
Tes Interview PPA BCA
Tes Interview  PPA BCATes Interview  PPA BCA
Tes Interview PPA BCAafrays iwd
 
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASITUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASInurshifasetyoutami
 
presentasi sistem komputer.ppt
presentasi sistem komputer.pptpresentasi sistem komputer.ppt
presentasi sistem komputer.pptSandiMiho
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010eddie Ismantoe
 

What's hot (20)

Proposisi Logika Matematika
Proposisi Logika MatematikaProposisi Logika Matematika
Proposisi Logika Matematika
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Makalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannyaMakalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannya
 
Modul 2 Physiological Performance
Modul 2 Physiological PerformanceModul 2 Physiological Performance
Modul 2 Physiological Performance
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Makalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisiMakalah pemrograman c++ yang revisi
Makalah pemrograman c++ yang revisi
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Laporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanaLaporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhana
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Pengantar teknik informatika
Pengantar teknik informatikaPengantar teknik informatika
Pengantar teknik informatika
 
Proposisi Logika Informatika
Proposisi Logika InformatikaProposisi Logika Informatika
Proposisi Logika Informatika
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Tes Interview PPA BCA
Tes Interview  PPA BCATes Interview  PPA BCA
Tes Interview PPA BCA
 
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASITUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
 
Algoritma powerpoint
Algoritma powerpointAlgoritma powerpoint
Algoritma powerpoint
 
presentasi sistem komputer.ppt
presentasi sistem komputer.pptpresentasi sistem komputer.ppt
presentasi sistem komputer.ppt
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
Contoh proposal skripsi
Contoh proposal skripsiContoh proposal skripsi
Contoh proposal skripsi
 

Similar to ALGORITMA PENGENALAN

Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrogramanSahat Tua
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramAkmal Fajar
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman hanujisudiman
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...farizky berian
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptxssuser98f5ad
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartSyaiful Ahdan
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Adri Demmanongkan
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Bay Cliquers
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switchAhmad Exca
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 

Similar to ALGORITMA PENGENALAN (20)

Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrograman
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptx
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Bab II
Bab IIBab II
Bab II
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
2.sd 13.ok
2.sd 13.ok2.sd 13.ok
2.sd 13.ok
 
2.sd 13
2.sd 132.sd 13
2.sd 13
 
Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switch
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 

More from Lela Warni

Tabel ascii terlengkap
Tabel ascii terlengkapTabel ascii terlengkap
Tabel ascii terlengkapLela Warni
 
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa Lela Warni
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Lela Warni
 
Makalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkapMakalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkapLela Warni
 
Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap Lela Warni
 
operasi unit kontrol
operasi unit kontroloperasi unit kontrol
operasi unit kontrolLela Warni
 
mode pengalamatan
mode pengalamatanmode pengalamatan
mode pengalamatanLela Warni
 
operasi arithematik
operasi arithematik operasi arithematik
operasi arithematik Lela Warni
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Lela Warni
 
Manusia dan penderitaan
Manusia dan penderitaan Manusia dan penderitaan
Manusia dan penderitaan Lela Warni
 
Makalah sejarah prosesor
Makalah sejarah prosesor Makalah sejarah prosesor
Makalah sejarah prosesor Lela Warni
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sqlLela Warni
 
Kinerja komputer
Kinerja komputer Kinerja komputer
Kinerja komputer Lela Warni
 
Kelompok kata
Kelompok kata Kelompok kata
Kelompok kata Lela Warni
 
Journal komputer garfik
Journal komputer garfikJournal komputer garfik
Journal komputer garfikLela Warni
 
Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945 Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945 Lela Warni
 

More from Lela Warni (20)

Tenses
Tenses Tenses
Tenses
 
Tabel ascii terlengkap
Tabel ascii terlengkapTabel ascii terlengkap
Tabel ascii terlengkap
 
Struktur cpu
Struktur cpu Struktur cpu
Struktur cpu
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer
 
Makalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkapMakalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkap
 
Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap
 
operasi unit kontrol
operasi unit kontroloperasi unit kontrol
operasi unit kontrol
 
mode pengalamatan
mode pengalamatanmode pengalamatan
mode pengalamatan
 
operasi arithematik
operasi arithematik operasi arithematik
operasi arithematik
 
ALU
ALUALU
ALU
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer
 
Manusia dan penderitaan
Manusia dan penderitaan Manusia dan penderitaan
Manusia dan penderitaan
 
Makalah sejarah prosesor
Makalah sejarah prosesor Makalah sejarah prosesor
Makalah sejarah prosesor
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
Kinerja komputer
Kinerja komputer Kinerja komputer
Kinerja komputer
 
Kelompok kata
Kelompok kata Kelompok kata
Kelompok kata
 
Journal komputer garfik
Journal komputer garfikJournal komputer garfik
Journal komputer garfik
 
Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945 Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945
 

Recently uploaded

MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxc9fhbm7gzj
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxawaldarmawan3
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfElaAditya
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxnerow98
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 

Recently uploaded (20)

MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
Materi Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptxMateri Bimbingan Manasik Haji Tarwiyah.pptx
Materi Bimbingan Manasik Haji Tarwiyah.pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptxKONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
KONSEP KEBUTUHAN AKTIVITAS DAN LATIHAN.pptx
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdfTUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
TUGAS GURU PENGGERAK Aksi Nyata Modul 1.1.pdf
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptxPPT Integrasi Islam & Ilmu Pengetahuan.pptx
PPT Integrasi Islam & Ilmu Pengetahuan.pptx
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 

ALGORITMA PENGENALAN

  • 1. 1 BAB I PENGENALAN ALGORITMA 1.1 Apakah Itu Algoritma? Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. 1.2 Definisi Algoritma “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. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
  • 2. 2 1.3 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa : Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Pembuatan algoritma mempunyai banyak keuntungan di antaranya :  Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.  Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.  Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Beberapa hal yang perlu diperhatikan dalam membuat algoritma :  Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.  Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.  Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.  Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.  Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • 3. 3  Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu : a. Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya. b. Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data. c. Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda. d. Aturan sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan. e. Tampilan hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal- hal teknis ini diperhatikan ketika mengkonversikannya menjadi program. f. Cara pengoperasian compiler atau interpreter. Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. 1.4 Penyajian Algoritma Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal. 1.5 Flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan
  • 4. 4 demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek. Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :  Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:  Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program. - Kaidah-Kaidah Umum Pembuatan Flowchart Program Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu : 1. Input, 2. Proses pengolahan dan 3. Output Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah: 1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan. 2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input. 3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca. 4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  • 5. 5 5. END, mengakhiri kegiatan pengolahan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran : 1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. 2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. 3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman : Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana. Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang. Solusi : Perumusan untuk mencari luas persegi panjang adalah : L = p . l di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
  • 6. 6 Keterangan : 1. Simbol pertama menunjukkan dimulainya sebuah program. 2. Simbol kedua menunjukkan bahwa input data dari p dan l. 3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l. 4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga. 5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End. 1.6 Struktur Dasar Algoritma Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu: 1. Struktur Runtunan 2. Digunakan untuk program yang pernyataannya sequential atau urutan. 3. Struktur Pemilihan 4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi. 5. Struktur Perulangan 6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun. 1.7 Tahapan dalam Pemrograman Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :  Definisikan Masalah  Buat Algoritma dan Struktur Cara Penyelesaian  Menulis Program  Mencari Kesalahan  Uji dan Verifikasi Program  Dokumentasi Program  Pemeliharaan Program
  • 7. 7 BAB II PENGENALAN BAHASA C Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu: Penjelasan : 1. Include Adalah salah satu pengarah prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya : # include <nama_file> tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file header) yaitu file yang berisi sebagai deklarasi contohnya: - # include <iostream.h> : diperlukan pada program yang melibatkan objek cout - # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah untuk membersihkan layar. - # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat untuk mengatur lebar dari suatu tampilan data. - # include <math.h> : diperlukan pada program yang menggunkan operasi sqrt () yang bermanfaat untuk operasi matematika kuadrat. 2. Fungsi main () Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh # prepocessor directive void main() { // Batang Tubuh Program Utama }
  • 8. 8 program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi main(). 3. Komentar Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu: Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih dari satu baris */ Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris ) 4.Tanda Semicolon Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. 5. Mengenal cout(dibaca : C out) Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada layar) Contoh : #include <iostream.h> Void main () { Cout << “HAI, selamat meggunakan C++ “; } Tanda “ << “ merupakan sebuah operator yang disebut operator “penyisipan/peletakan” 2.1 Variabel Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
  • 9. 9 tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut : Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut : 1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda. 2. Tidak boleh mengandung spasi. 3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, =dsb. 4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai. Contoh penamaan variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb. Contoh penamaan variable yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb 2.2 Deklarasi Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi. 2.2.1 Deklarasi Variabel Bentuk umumnya : Contoh : int x; // Deklarasi x bertipe integer char y, huruf, nim[10]; // Deklarasi variable bertipe char float nilai; // Deklarasi variable bertipe float double beta; // Deklarasi variable bertipe double int array[5][4]; // Deklarasi array bertipe integer variable = ekspresi ; Nama_tipe nama_variabel;
  • 10. 10 Contoh : #include <iostream.h> Void main () { Int ; n=66; // sama juga jika ditulis int n=66; cout<<n<<endl; //n sebagai variabel cout<<’n’<<endl; // end sebagai karakter } Outputnya : 66 n 2.2.2 Deklarasi Konstanta a. Menggunakan keyword const Contoh : const float PI = 3.14152965; Berbeda dengan variable, konstanta bernama tidak dapat diubah jika telah diinisialisasi b. Menggunakan #define Contoh : #define PI 3.14152965 Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965. Contoh : #include <iostream.h> Void main () { Const float phi = 3.14; Float jari_jari, luas, keliling; Jari_jari=7.0; Luas = 0.5 * phi * jari_jari * jari_jari; Keliling = 2 * phi * jari_jari;
  • 11. 11 Cout << “ Luas Lingkaran = “ << luas << endl; Cout << “keliling lingkaran = “ << keliling; } 2.3 Tipe Data Tipe data dapat dikelompokkan menjadi atas dua macam : 1. Tipe Dasar. 2. Tipe Bentukkan. 2.3.1 Tipe Dasar Adalah tipe yang dapat langsung dipakai. Tipe Dasar Ukuran Memori (byte) Jangkauan Nilai Jumlah Digit Presisi Char 1 -128 hingga +127 - Int 2 -32768 hingga +32767 - Long 4 -2.147.438.648 hingga 2.147.438.647 - Float 4 3,4E-38 hingga 3,4E38 6-7 Double 8 1,7E-308 hingga 1.7E308 15-16 Long Double 10 3.4E-4932 hingga 1.1E4932 19 NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe) Tipe data dapat diubah ( type cast ), misalkan: float x = 3.345; int p = int(x); maka nilai p adalah 3 ( terjadi truncating ). 2.3.2 Tipe Bentukan Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur. 2.3.2.2 Tipe Struktur Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
  • 12. 12 kemudahan dalam operasi. Bentuk umumnya : 2.4 Operator Bahasa C Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. 2.4.1 Operator penugasan Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan (“=”). Contoh : nilai = 80; A = x * y; Penjelasan : variable “nilai” diisi dengan 80 dan variable “A” diisi dengan hasil perkalian antara x dan y. 2.4.2 Operator Aritmatika Operator Deskripsi + Penjumlahan (Add) - Pengurangan (Substract) * Perkalian (Multiply) / Pembagian (Divide) % Sisa Pembagian Integer (Modulus) 2.4.3 Operator Hubungan (Perbandingan) Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++. tyedef struct{ tipe nama_field1; tipe nama_field2; tipe nama_field3; . . . . }nama_variabel;
  • 13. 13 Operator Arti Contoh == Sama dengan (bukan assignment) X==y Apakah x sama dengan y != Tidak sama dengan X!=y Apakah x sama dengan y > Lebih besar X > y Apakah x lebih besar dari y < Lebih kecil X < y Apakah x lebih kecil dari y >= Lebih besar atau sama dengan X >= y Apakah x kurang dari sama dengan y <= Lebih kecil atau sama dengan 2.4.4 Operator Naik Dan Turun ( Increment Dan Decrement ) Operator increment ++ Operator decrement -- Contoh : #include <iostream.h> Void main () { Int m = 44, n =66; Cout<<”m = “<<m<<”, n = “<<n<<endl; ++m; --n; Cout<<”m = “<<m<<”, n = “<<n<<endl; M++; n--; Cout<<”m = “<<m<<”, n = “<<n<<endl; } Outputnya : M = 44, n = 66 M = 45, n = 65 M = 46, n = 64 2.4.5 Operator Bitwise Operator Deskripsi Contoh << Geser n bit ke kiri M << n >> Geser n bit ke kanan M >> n & Bitwise AND M & n I Bitwise OR M I n ^ Bitwise XOR M ^ n ~ Bitwise NOT ~m NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau
  • 14. 14 Char. 2.4.6 Operator Logika Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi. Operator Deskripsi Contoh && Logic AND M && n II Logic OR M II n ! Logic NOT !m 2.4.7 Operator Unary - : unary minus ++ : peningkatan dengan penambahan nilai 1 -- : penurunan dengan pengurangan nilai 1 Sizeof : Ukuran dari operand dalam byte ! : unary NOT & : menghasilkan alamat memory operand * : menghasilkan nilai dari pointer 2.5 Operator Input dan Output  Menampilkan Data / Informasi Ke Layar Untuk menampilkan data / informasi, fungsi yang digunakan adalah sama dengan dengan turbo c, yaitu printf( ), puts( ), dan putchar( ). 1. Printf( ) Bentuk umum pernyataan printf adalah: Printf(“string kontrol”, argumen1,argumen2,…); String kontrol dapat berupa keterangan yang akan ditampilkan beserta penentu format (seperti %d, %f, dll). Argumen adalah data yang akan ditampilkan ke layar yang dapat berupa variabel, konstanta, bahkan ungkapan. Misal: Printf(“%d”,20); // argumen berupa konstanta Printf(“%d”,a); // argumen berupa variabel Printf(“%d”,a+20); // argumen berupa ungkapan Contoh : #include<stdio.h> main()
  • 15. 15 { unsigned int segmen_grafik=0xB800; float x=251000.0; printf("Nilai segmen grafik (oktal) : %on",segmen_grafik); printf("Nilai segmen grafik (desimal) : %un",segmen_grafik); printf("Nilai segmen grafik (heksadesial) : %xn",segmen_grafik); printf("nFormat e -> %en",x); printf("Format f -> %fn",x); printf("Format g -> %gn",x); } 2.Puts( ) dan Putchar( ) Fungsi puts( ) digunakan untuk menampilkan data string ke layar. Sifat fungsi ini secara otomatis akan diakhiri dengan n (pindah baris). Berbeda dengan fungsi Putchar( ) yang khusus untuk menampilkan sebuah karakter dan tidak diakhiri dengan perpindahan baris. Contoh penggunaan: Puts(“Belajar Turbo C++); Putchar(‘A’);  Memasukkan Data Dari Keyboard Untuk input data digunakan fungsi scanf( ), getch( ) dan getche( ). 1. Scanf( ) Bentuk umum scanf( ) adalah: Scanf(“string kontrol”, daftar argumen); Untuk penentu format, bentuknya sama seperti pada printf( ). Sedangkan untuk daftar argumen, haruslah berupa alamat yang ditambahkan tanda & (operator alamat). 2. Getch( ) dan Getche( ) Fungsi getch( ) digunakan untuk membaca sebuah karakter, dengan sifat karakter yang dimasukkan tak perlu diakhiri dengan ENTER. Disamping itu, karakter yang dimasukkan tak akan ditampilkan pada layar. Sedangkan fungsi getche( ), karakter yang dimasukkan akan ditampilkan pada
  • 16. 16 layar. Berikut ini contoh penggunaan fungsi getch( ) dan getche( ): #include<stdio.h> #include<conio.h> main() { char huruf1,huruf2; printf("Masukkan sebuah karakter: "); huruf1=getche(); // karakter yang dimasukkan akan terlihat di layar printf("nKarakter yang Anda masukkan adalah: %c",huruf1); printf("nMasukkan sebuah karakter lagi: "); huruf2=getch(); // karakter yang dimasukkan tidak terlihat di layar printf("nKarakter yang Anda masukkan adalah: %c",huruf2); getch(); }
  • 17. 17 BAB III STRUKTUR KONTROL 3.1 Struktur Kondisi “If…” Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah: If(kondisi) Pernyataan; Buat program baru dan ketik code berikut: #include<stdio.h> main() { double tot_pemb,korting; printf("Total Pembelian : Rp "); scanf("%lf",&tot_pemb); korting=0; // Tentukan nilai awal variabel korting if(tot_pemb>=50000) korting=0.5*tot_pemb; printf("Besarnya Korting : Rp %.2lfn",korting); } Namun jika menggunakan if…else akan memuat dua perintah yaitu perintah dimana jika penyataan terpenuhi dan tidak terpenuhi. Penulisan : if(kondisi) else //apabila statement A tidak terpenuhi Contoh : Bila jumlah mahasiswa yang membolos lebih dari 10 maka tampilkan hasil “tidak boleh mengikuti ujian”,jika tidak maka “boleh mengikuti ujian”. if(bolos>10) printf(“tidak boleh ujian”); else printf(“boleh ujian); jika ingin menggunakan alternatif kondisi lebih dari satu dapat digunakan else if.
  • 18. 18 Contoh: if(ukuran>=80) printf(“XL”); else if(ukuran<=20) printf(“M”); else printf(“S”); 3.2 Perulangan (Looping) perulangan digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Proses looping yang menggunakan penghitungan dapat dibuat menggunakan pernyataan FOR. Bentuk umum : for (ungkapan1; keadaan; ungkapan 3) { pernyataan; } Bentuk diatas berarti: a) Ungkapan 1 adalah inisialisasi terhadap variabel pengendali looping b) Keadaan adalah kondisi untuk keluar dari looping c) Ungkapan 3 adalah pengatur kenaikan atau penurunan nilai variabel pengendali looping Contoh : #include #include void main () { for (int n=10; n>0; n--) { cout<<”, “; } cout<<”STOP!”; getch (); } Hasilnya adalah: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP! 3. Perintah do....while Perintah ini menyatakan pengulangan proses selama kondisi tertentu. Bentuk umum : Do { Pernyataan; Pernyataan; }
  • 19. 19 While (keadaan) Setiap loop dikerjakan maka kondisi akan dicek. Jika masih benar, proses loop dilakukan lagi dan jika salah maka proses loop berhenti dan berlanjut pada perintah selanjutnya. contoh: #include #include void main () { int a; a =1; do { cout<<”ayu”; a++ } while (a<=5); getch(); } 4. Perintah WHILE Perintah WHILE prinsipnya sama dengan perintah DO...WHILE hanya pengujian kondisinya terletak pada awal loop. Bentuk umum: While (keadaan) Pernyataan; Atau While (keadaan) { Pernyataan; Pernyataan; }  Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan yang dibatasi dengan tanda {}.  Pernyataan itu akan dijalankan jika kondisinya masih benar.  Keadaan disini boleh merupakan sembarang pernyataan yang mengandung nilai suatu variabel, pernyataan binari, pernyataan aritmatik, atau nilai return hasil dari memanggil suatu fungsi. Contoh: #include #include void main () { int n; cout<<”masukkan angka untuk mulai : “; cin>>n; while (n>0) { cout<< n << “, “; --n; } cout <<”STOP!”; getch (); }
  • 20. 20 Hasilnya adalah: Masukkan angka untuk mulai : 4 4, 3, 2, 1, STOP! 5. Perintah CONTINUE Perintah ini digunakan untuk mengarahkan jalannya program ke iterasi (proses) berikutnya pada loop yang sama Bentuk umum: While (kondisi) { . . . . . . . . . . . . CONTINUE; . . . . . . . . } . . . . Contoh program perintah CONTINUE: #include #include void main () { for (int n=10; n>0; n--) { if (n==5) continue; cout<<<”, “; } cout<<”STOP!”; getch (); } Hasilnya adalah: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP! 6.Struktur Selektif (switch) Logika menggunakkan switvh sama dengan logika menggunakkan if . Bentuk Umum : switch (pilihan) { case nilai 1: blok pernyataan1 break; case nilai 2 : blok pernyataan nilai 2 break; - -
  • 21. 21 default : blok pernyataan default } Contoh : switch (a) { case 1: cout<<”a adalah 1”; break; case 2: cout<<”a adalah 2”; break; default: cout<<”error”; } 3.3 Array Pengertian Array adalah tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Bagian penyusun aray disebut elemen array yang masing-masing elemen dapat di akses tersendiri melalui index array yang dapat berupa integer atau string. 3.3.1 Deklarasi Array Variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variabel array D di atas adalah: Int d[7]; C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang dideklarasikan,nomor indeks selalu dimulai dari 0. Nilai suatu variabel array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya: Int d[7] = {-45, 0, 6, 72, 1543, 43, 4}; setiap lokasi memori dari variabel array c langsung diisi dengan nilai-nilai yang dituliskan di dalam tanda kurung kurawal. Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variabel array dengan 10 lokasi memori: Int x[ ] = {10, 15, 12, 5, 13, 9, 6, 17, 25, 31}; Contoh program array /*Program:array1. Cpp*/ #include #define SIZE 12 main() { int a [SIZE] = {1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45}; int indeks, total = 0; for (indeks=0 ; indeks<=SIZE-1 ; indeks++) total += a [indeks]; printf (“nTotal setiap elemen array adalah %d”, total); return 0; } Bila program diatas dijalankan, akan muncul hasil: Total setiap elemen array adalah 383
  • 22. 22 3.3.2 Array Dimensi Satu Struktur array mempunyai satu dimensi, sehingga variabelnya disebut dengan variabel array berdimensi satu Bentuknya : Tipe nama_var [ukuran]; Dengan: Tipe : menyatakan jenis elemen array (int, char,unsigned, dll) Ukuran : menyatakan jumlah maksimal elemen array. Contoh: Float nilai_angka[5]; Pada turbo C++, array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut : Nilai_angka[0] Nilai_angka[1] Nilai_angka[2] Nilai_angka[3] Nilai_angka[4] Masing-masing bertipe float dan berjumlah 5 elemen. Selain itu, deklarasi array juga dapat berupa: Static int angka [9] = {1, 2, 3, 4, 5, 6, 7, 8, 9} Sesuai dengan deklarasi array diatas, maka isi variabel array telah ditentukan yaitu: angka[0] bernilai 1 angka[1] bernilai 2 angka[2] bernilai 3 angka[3] bernilai 4 angka[4] bernilai5 angka[5] bernilai 6 angka[6] bernilai 7 angka[7] bernilai 8 angka[8] bernilai9 } 3.3.3 Array Dimensi Dua Array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua. Sebagai contoh, sebuah matrik C berukuran 2 x 3 dapat dideklarasikan dalam C seperti berikut: int c[2][3] = {{2,4,1},{5,3,7}}; akan menempati lokasi memori dengan susunan sebagai berikut : 0 1 2 0 2 4 1 1 5 3 7
  • 23. 23 Dan definisi variabel untuk setiap elemen tersebut adalah : Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini: Contoh program array dimensi dua /*Program: array3 .cpp*/ #include void printArray (int [] [3]), main() { int matrik1 [2] [3] = { {1, 2, 3}, {4, 5, 6} } matrik2 [2] [3] = { 1, 2, 3, 4, 5}, matrik3 [2] [3] = { {1, 2}, {4} }; printarray (matrik1); printarray (matrik2); printarray (matrik3); return 0; } void printArray (int a[] [3]) { int i, j; for (i=0; i<=1; i++) { for (j=0; j<=2; j++) printf(“%d”, a[i][j] );; printf (“n”); } } Bila program diatas dijalankan, akan muncul hasil: 123 456 123 450 120 400 3.3.4 Array Dimensi Banyak Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting. 0 1 2 0 b[0][0] b[0][1] b[0][2] 1 b[1][0] b[1][1] b[1][2]