0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan53 halaman

Algoritma Dan Pemrograman

Diunggah oleh

nabilahmega68
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan53 halaman

Algoritma Dan Pemrograman

Diunggah oleh

nabilahmega68
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 53

BAB 7

ALGORITMA DAN
PEMROGRAMAN
ALGORITMA

Algoritma adalah suatu kumpulan instruksi terstruktur dan terbatas
yang dapat diimplementasikan dalam bentuk program komputer
untuk menyelesaikan suatu permasalahan komputasi tertentu.

Dua cara untuk merepresentasikan algoritma, yaitu diagram alir
dan pseudocode.

Menulis algoritma berbeda dengan menulis program. Program
ditulis agar dapat dipahami oleh mesin, sedangkan algoritma
ditulis agar dapat dipahami oleh manusia.
DIAGRAM ALIR (FLOW CHART)

Diagram alir dibuat dalam bentuk aliran simbol
yang dapat ditelusuri dari suatu titik permulaan
hingga titik akhir dari program.
Aktivitas
1 Hitunglah luas permukaan sebuah kubus yang memiliki panjang sisi 20 cm dengan
menggunakan diagram alir pada contoh kedua.
2 Hitunglah dua buah operasi pembagian berikut dengan menggunakan diagram alir pada
contoh kedua. Pertama, pembagi bernilai 10 dan penyebut bernilai 2. Kedua, pembagi
bernilai 8 dan penyebut bernilai 0.
3 Lakukan hitung mundur dari angka 5 hingga 1 dengan menelusuri diagram alir
keempat.
4 Carilah bilangan terbesar dari 7 bilangan berikut: 3, 1, 2, 4, 5, 7, dan 9 dengan
menggunakan diagram alir kelima.
Pseudecode

Pseudocode (kode semu atau kode pseudo) adalah suatu
bahasa buatan manusia yang sifatnya informal untuk
merepresentasikan algoritma.

Pseudocode dibuat untuk menutupi kekurangan diagram alir
dalam merepresentasikan konsep-konsep pemrograman
terstruktur.

Pseudocode memungkinkan representasi langkah-langkah
yang lebih detail dan dekat dengan bahasa pemrograman.
Aktivitas
Soal 1: Membayar Bakso (Tingkat Kesulitan: **)
Buatlah sebuah diagram alir atau pseudocode dari proses berikut. Sebuah mesin
pembayaran otomatis dirancang untuk mampu menangani pembayaran pembelian
bakso secara mandiri. Mesin ini mampu untuk memberikan kembalian dalam
bentuk uang kertas atau uang logam. Mesin akan menerima dua buah masukan,
yaitu total bayar dan jumlah uang yang dibayarkan oleh pelanggan. Apabila jumlah
uang yang dibayarkan lebih besar atau sama dengan total bayar, mesin akan
menghitung kembalian yang harus diberikan kepada pelanggan. Apabila terjadi
sebaliknya, mesin akan menampilkan teks “Uang yang dibayarkan kurang”.
Bahasa Pemrograman C
 Bahasa Pemrograman C, selanjutnya disebut bahasa C saja, dikembangkan oleh Dennis M. Ritchie dan
Brian W. Kernighan pada awal tahun 1970.
 Bahasa C banyak dipakai untuk membuat sistem operasi dan program-program sistem, pemrograman
tingkat rendah, atau yang "dekat" ke perangkat keras (misalnya untuk kontrol peralatan), membuat
toolkit pemrograman, dan menulis aplikasi.
 Kelebihan bahasa C sehingga banyak digunakan ada pada kemampuannya untuk menghasilkan kode
yang singkat, efisien, tetapi tetap mudah dibaca. Berbeda halnya dengan bahasa mesin yang efisien,
tetapi membutuhkan latihan khusus untuk membacanya, atau bahasa tingkat tinggi lain yang enak
dibaca, tetapi tidak efisien.
 Walaupun demikian, perlu diakui bahwa kesulitan untuk membaca program bahasa C lebih tinggi
daripada bahasa tingkat tinggi lain.
Untuk dapat membuat program dalam bahasa C, diperlukan beberapa perangkat lunak.
 Perangkat lunak yang pertama ialah sebuah editor teks tempat kita mengetikkan kode
program.
 Selanjutnya, ada sebuah kompilator (compiler) yang akan membaca kode bahasa C yang telah
ditulis dan mengubahnya menjadi bahasa mesin, atau bahasa assembly.
 Setelah itu, terdapat sebuah assembler yang akan mengubah bahasa mesin tersebut ke dalam
kode biner yang dapat dipahami dan dieksekusi oleh komputer.
 Terakhir, terdapat sebuah penghubung (linker) yang akan menyatukan beberapa berkas yang
dihasilkan dalam proses-proses sebelumnya ke dalam sebuah bentuk berkas yang dapat
dieksekusi (executable).
Pada awalnya, perangkat lunak tersebut terpisah, tetapi untuk memudahkan, dibuatlah sebuah
perangkat lunak terintegrasi yang mencakup semua perangkat lunak di atas. Perangkat lunak
tersebut disebut lingkungan pengembangan terpadu IDE (Integrated Development Environment).
Membuat Program Bahasa C dengan
IDE Geany

#include<stdio.h> //header
void main()
{
printf("Hallo saya sedang belajar bahasa C \n"); // \n untuk membuat baris baru
printf("Saya senang bahasa pemrograman");

}
KEYWORD
32 Kata Kunci (Keyword) Bahasa C :

auto, double, int, struct, break, else, long, switch, case,


enum, register, typedef, char, extern, return, union,
continue,for, signed, void, do, if, static, while, default,
goto, sizeof,volatile, const, float, short, dan unsigned.
IDENTIFIER
Identifier adalah nama unik yang diberikan ke dalam entitas program,
seperti variabel dan fungsi. Aturan nama identifier :
A.Tidak boleh sama dengan kata kunci (keyword) dalam bahasa C.
B.Disusun dari kombinasi huruf (besar dan kecil), angka, dan underscore ”_”.
C.Harus dimulai dengan huruf atau underscore.
D.Bersifat case-sensitive, atau sensitif terhadap huruf besar atau kecil
(kapitalisasi karakter). Dengan kata lain, sisi dan Sisi akan dianggap sebagai
dua identifier yang berbeda.
Contoh : namaSiswa
_namaSiswa
nama_siswa
namaSIswa1
namaSiswa2
TIPE DATA
Nama Tipe Jenis Data Ukuran Memori Rentang Data
char Karakter 1 byte = 8 bit -128 s.d. 127
short Bilangan Bulat 2 byte = 16 bit -32768 s.d 32767
int Bilangan Bulat 4 byte = 32 bit -2.1x109 s.d. 2.1x109
long Bilangan Bulat 8 byte = 64 bit -9.2x1018 s.d 9.2x1018
float Bilangan Riil 4 byte = 32 bit -3.4x1038 s.d 3.4x1038
double Bilangan Riil 8 byte = 64 bit -1.7x10308 s.d 1.7x10308

unsigned char : 0 s.d 255


unsigned short : 0 s.d 65535
unsigned int : 0 s.d 4.2x109
unsigned long : 0 s.d 18.4x1018
SPESIFIKASI FORMAT
Nama Tipe Spesifikasi Format (signed)
char %c
short %i atau %d
int %i atau %d
long %li atau %ld
float %f atau %e
double %lf atau %le
VARIABEL
Variabel merupakan wadah untuk menyimpan suatu nilai.
Nilai yang diberikan pada sebuah variabel akan disimpan di memori komputer.
Variabel diberikan nama simbolik yang mudah untuk diingat dengan menggunakan identifier.
Deklarasi variabel :
Tipe data identifier;
Tipe data identifier = nilai awal;
Tipe data identifier1 identifier2;
Contoh : short jumlahBarang;
int hargaBarang=20000;
float jarak=2.8;
double jumlahAtom=6.02e23;
char huruf =”A”;
int jumlahSiswa,jumlahSiswi;
KONSTANTA

Konstanta nilainya tetap.
const pi =3.14;
\n (newline)
ESCAPE SEQUENCE : \t (tab)
\v (vertical tab)
\b (backspace)
\r (carriage return)
\a (beep, bell)
\\ (garis miring)
\" (tanda kutip
ganda)
\` (tanda kutip)
PROGRAM INPUT OUTPUT
/program input output
#include <stdio.h>
int main()
{
int bilangan;
printf("Input sebuah bilangan :");
scanf("%i",&bilangan);
printf("Bilangan yang Anda input adalah : %i",bilangan);
return 0;
} Hasil :
Input sebuah bilangan :5
Bilangan yang Anda input adalah : 5

------------------
(program exited with code: 0)
Press return to continue
PROGRAM FORMAT DESIMAL
//program format desimal
#include <stdio.h>
int main()
{
float bilangan=2.345876;
printf("Bilangan = %.3f",bilangan);
return 0;
}

Bilangan = 2.346

------------------
(program exited with code: 0)
Press return to continue
CETAK BILANGAN BULAT DAN
• //program cetak bilangan bulat dan desimal
• #include <stdio.h> DESIMAL
• int main()
• {
• int a,b;
• float c;
• printf("Bilangan Bulat 1 Bilangan Bulat 2 Bilangan Desimal \n");
• scanf("%i %i %f",&a,&b,&c); Hasil :
Bilangan Bulat 1 Bilangan Bulat 2 Bilangan Desimal
• printf("Hasilnya %i %i %.3f ",a,b,c); 5 6 8.6
Hasilnya 5 6 8.600
• return 0; ------------------
• } (program exited with code: 0)
Press return to continue
EKSPRESI

Operator Penugasan
Simbolnya : =
int a = 10;

Operator Aritmatika
Operator Logika,Relasional, dan Kesamaan
Operator Kondisional (Ternary)

Operator kondisional adalah operator ternary yang akan mengembalikan
nilai berdasarkan suatu kondisi tertentu. Misalnya, Anda ingin
mengembalikan nilai 1 jika suatu ekspresi a < 3 bernilai benar, dan
mengembalikan nilai 0 jika sebaliknya.

Bentuk umum penggunaan operator ini adalah sebagai berikut:
(kondisi ? ekspresi-1 : ekspresi-2 )
Ekspresi 1 akan dikembalikan jika kondisi bernilai benar, sedangkan
ekspresi 2 dikembalikan jika kondisi bernilai salah.
n = (a<3)?1:0
//program ternary
#include <stdio.h>
int main()
{
int a,n;

printf("Input sebuah angka bulat (a) : ");


scanf("%i",&a);
n=(a>=3)?1:0;
printf("n = %i ",n); Hasil :
Input sebuah angka bulat (a) : 4
n =1
return 0;
} ------------------
(program exited with code: 0)
Press return to continue
Struktur Kontrol Keputusan

If – else
/* Program Cek Ganjil-Genap */
#include <stdio.h>
int main(){
int angka;
printf("Input sebuah angka : ");
scanf("%i", &angka);
if (angka % 2 == 0)
{
printf("Angka %i adalah Bilangan Genap\n",angka); Hasil :
} Input sebuah angka : 6
else Angka 6 adalah Bilangan
{ Genap
printf("Angka %i adalah Bilangan Ganjil\n",angka);
}
return 0; ------------------
}
If – else if - else
/* Program if - else if - else*/
#include <stdio.h>
int main(){
int pesanan;
printf("1. Baso \n");
printf("2. Seblak \n");
pintf("3. Boba \n");
printf("Input menu (1-3) : ");
scanf("%i", &pesanan);
if (pesanan== 1)
{
printf("Anda memesan baso \n");
printf("Harganya Rp. 15.000 per mangkuk");
}
else if(pesanan==2)
{
printf("Anda memesan seblak \n");
printf("Harganya Rp. 10.000 per bungkus");
}
else if (pesanan==3)
{
printf("Anda memesan boba \n");
printf("Harganya Rp. 8000 per cup");
}
else
{
printf("Pesanan Anda Salah ");
}
return 0;
}
1. Baso 1. Baso
2. Seblak 2. Seblak
3. Boba 3. Boba
Input menu (1-3) : 3 Input menu (1-3) : 2
Anda memesan boba Anda memesan seblak
Harganya Rp. 8000 per cup Harganya Rp. 10.000 per
bungkus
------------------
(program exited with code: ------------------
0) (program exited with code: 0)
1. Baso Press return to continue
Press return to continue
2. Seblak
3. Boba
Input menu (1-3) : 4
Pesanan Anda Salah

------------------
(program exited with code:
0)
Press return to continue
Struktur Kontrol Keputusan Switch-
Case
switch(switch_expr)
{
case (constant expr1) :
<statement>;
<statement>;
break;
case (constant expr2) :
<statement>;
<statement>;
break;
.....
Default:
<statement>;
<statement>;
break;
/* Program switch case*/
#include <stdio.h>
int main(){
int pesanan;
printf("1. Baso \n");
printf("2. Seblak \n");
printf("3. Boba \n");
printf("4. Es Jeruk \n");
printf("5. Teh Manis \n");
printf("Input pesanan (1-5) : ");
scanf("%i", &pesanan);
switch (pesanan)
{
case 1 :
printf("Anda memesan baso \n");
printf("Harganya Rp. 15.000 per mangkuk");
break;
case 2 :
printf("Anda memesan Seblak \n");
printf("Harganya Rp. 10.000 per bungkus");
case 3 :
printf("Anda memesan boba \n");
printf("Harganya Rp. 5000 per cup");
break;
case 4 :
printf("Anda memesan es jeruk \n");
printf("Harganya Rp. 10.000 per cup");
break;
case 5 :
printf("Anda memesan teh manis \n");
printf("Harganya Rp. 3.000 per cup");
break;
default :
printf("Pesanan Anda Salah");
break;
}

return 0;
}
1. Baso 1. Baso
2. Seblak 2. Seblak
3. Boba 3. Boba
4. Es Jeruk 4. Es Jeruk
5. Teh Manis 5. Teh Manis
Input pesanan (1-5) : 3 Input pesanan (1-5) : 6
Anda memesan boba Pesanan Anda Salah
Harganya Rp. 5000 per cup
------------------
------------------ (program exited with code:
(program exited with code: 0)
0) Press return to continue
Press return to continue
Struktur Kontrol Perulangan for
Pernyataan ini umumnya digunakan untuk memproses
pernyataan secara berulang-ulang, dengan jumlah
perulangan yang dilakukan telah diketahui sebelumnya.
for (expr1; expr2; expr3)
{
<statement>;
...
}
/* Program Menulis Bilangan dari 1 sampai n */
Hasil :
#include <stdio.h> Angka terakhir : 8
int main() 1
{ 2
int a,n; 3
4
printf("Angka terakhir : "); 5
scanf("%i",&n); 6
7
for (a=1;a<= n;a++) 8
{
printf("%i \n",a); ------------------
} (program exited with code:
0)
} Press return to continue
Struktur Kontrol Perulangan While
Saat merancang perulangan, Anda bisa jadi tidak dapat menentukan
berapa kali perulangan akan dilakukan. Akan tetapi, Anda mengetahui
kondisi berhentinya.

while (ekspresi kondisi)


{
<pernyataan>;
...
}
/* Program Menulis Bilangan dari a sampai 10 dengan selisih Angka awal : -4
2*/ -4
#include <stdio.h> -2
int main() 0
{ 2
int a; 4
printf("Angka awal : "); 6
scanf("%i",&a); 8
10
while (a <=10)
{
printf("%i \n",a); ------------------
a=a+2; (program exited with
} code: 0)
} Press return to continue
Struktur Kontrol Perulangan Do – While

Struktur kontrol do-while memiliki perilaku yang mirip dengan while, yaitu
Anda hanya mengetahui kondisi berhenti dari perulangan tersebut.
Perbedaannya ialah struktur do-while dipastikan akan dikerjakan setidaknya
satu kali. Bentuk umum pernyataan do .. while adalah sebagai berikut.

do {
<pernyataan>;
} while (ekspresi kondisi);
/* Program Input Angka Ganjil */
#include <stdio.h>
int main()
{
int a;
do
{
printf("Masukan sebuah angka ganjil: ");
scanf("%i",&a);
}while (a%2==0);

printf("Terima kasih telah menginput dengan benar, %i adalah angka ganjil",a);


return 0; Masukan sebuah angka ganjil: 4
} Masukan sebuah angka ganjil: 8
Masukan sebuah angka ganjil: 5
Terima kasih telah menginput dengan benar, 5 adalah angka ganjil

------------------
(program exited with code: 0)
Press return to continue
Fungsi (Function)

Fungsi pada program melambangkan suatu kumpulan pernyataan


yang memiliki tujuan tertentu.

Tujuan tersebut direpresentasikan oleh nama dari fungsi tersebut.


Misalnya, scanf yang memiliki fungsi untuk membaca (scan) nilai
dari pengguna.

Fungsi juga dapat menerima parameter-parameter, dan juga dapat


mengembalikan suatu nilai.

Dengan membungkus kumpulan instruksi tadi ke dalam suatu


fungsi, Anda dapat menggunakan kembali fungsi tersebut di
berbagai lokasi dalam program
/* Program Membuat fungsi menghitung luas persegi panjang */
#include <stdio.h>
//Fungsi untuk menghitung luas persegi panjang
int luas_pp(int panjang,int lebar)
{
int luas;
luas=panjang*lebar; Nilai panjang : 5
return luas; Nilai lebar : 6
} Luas persegi panjang = 30
//Fungsi utama
void main()
Nilai panjang : 7
{ Nilai lebar : 8
int p,l,luas; Luas persegi panjang = 56
printf("Nilai panjang : ");
scanf("%i",&p);
printf("Nilai lebar : "); ------------------
scanf("%i",&l); (program exited with code:
luas=luas_pp(p,l); 25)
printf("Luas persegi panjang = %i \n",luas);
Press return to continue
printf("Nilai panjang : ");
scanf("%i",&p);
printf("Nilai lebar : ");
scanf("%i",&l);
luas=luas_pp(p,l);

Anda mungkin juga menyukai