Algoritma Dan Pemrograman
Algoritma Dan Pemrograman
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 :
------------------
(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;
------------------
(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.
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);
------------------
(program exited with code: 0)
Press return to continue
Fungsi (Function)