Anda di halaman 1dari 15

A.

Konsep Pemrograman

Program = algoritma + struktur data

Algoritma :

a. Sequential / Beruntun
b. Branching /Pencabangan
c. Looping/ Iterasi / Rekursif

Struktur data :

d. Struktur Data Sederhana ; Array, Struct/Record, Searching,


Shorting
e. Struktur Data Majemuk
Linier : Stack, Queue,, Linked List
Non Linier : Tree Binary, Graph,

B. Algoritma Sequential

Pada dasarnya algoritma penyelesaian suatu masalah, betapapun


kompleksnya, dapat dipecah ke dalam tiga struktur dasar algoritma, yaitu ;

1. Algoritma runtunan (sekuensial)

Algoritma runtunan adalah sekumpulan perintah atau pernyataan yang


dikerjakan komputer berdasarkan dengan urutan perintahnya. Jadi, jika
terdapat algoritma dengan urutan perintahnya adalah :

Perintah1

Perintah2

Perintah3  

maka perintah yang dieksekusi pertama adalah Perintah1, diikuti


kemudian Perintah2 dan terakhir Perintah3.
Contoh :

Berikut ini adalah algoritma menghitung keliling lingkaran. Secara umum


algoritma tersebut dapat kita nyatakan sebagai berikut. 
Judul {Algoritma LuasLingkaran}
Deklarasi
Phi ß 3.14 , Luas, Jari : float
Deskripsi
1. Scanf(Jari)
2. Luas ß Phi*Jari*Jari
3. Printf(Luas)
4. End

Berikut adalah source code nya :

#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

using namespace std;

int main()
{

int ksoni,kadi,kanis,kluki;
cout<<"\nAlgoritma menghitung kelereng Adi, Anis, Luki";
cout<<"\ninput kelereng soni : ";
cin>>ksoni;

kadi=ksoni-10;
kanis=2*(ksoni+kadi);
kluki=ksoni+kadi+kanis-5;

cout<<"\n##########################";
cout<<"\n\nkelereng adi = " <<kadi;
cout<<"\nkelereng anis = " <<kanis;
cout<<"\nkelereng luki = " <<kluki;
cout<<"\n\n############################";
return 0;
}
Bias di liat pada gambar di atas dimana yang di eksekusi operasi
1(kadi=ksoni-10;), operasi 2(kanis=2*(ksoni+kadi);) , kemudian operasi
3(kluki=ksoni+kadi+kanis-5;). Kelereng adi didapatkan dari kelereng
kelereng soni (input) – 10 , kemudian kelereng anis di dapatkan dari
kelereng soni+ kelereng adi, dan dikali 2. Dan untuk kelereng luki di
dapatkan dari kelereng soni + kelereng adi + kelereng anis – 5.

2. Algoritma seleksi kondisi atau percabangan (branching)

Merupakan Algoritma yang tidak selamanya akan berjalan dengan


mengikuti struktur berurutan, kadang-kadang perlu merubah urutan
pelaksanaan program dan menghendaki agar pelaksanaan program
meloncat ke baris tertentu.

Pada struktur percabangan, program akan berpindah urutan


pelaksanaan jika suatu kondisi yang disyaratkan dipenuhi.

Contoh :

Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai


berikut, jika usia penonton lebih dari 17 tahun maka penonton
diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak
diperbolehkan nonton. Buatlah Algoritma untuk permasalahan tersebut.

Judul { Aturan Menonton Film}

Deklarasi Usia : Integer

Deskripsi
1. Scanf(Usia)

2. If Usia > 17 then Printf(Boleh Nonton)

else Printf(Tidak Boleh Nonton)

3. End

Berikut adalah source code nya :

#include <iostream>

#include <stdio.h>

#include <stdlib.h>

using namespace std;

int main()

system("cls");

int umur;

string nama,boleh;

system("cls");

cout<<"Masukan nama anda : ";

cin>>nama;

cout<<"\nMasukan Umur anda : ";

cin>>umur;

if(umur >= 1 && umur <= 17)boleh="Maaf, Anda Tidak dapat


Menonton";

else boleh=" Selamat menonton :D";

cout<<"\n##########################";

cout<<"\n\nHallo " <<nama;

cout<<"\nUmur kamu "<<umur << " tahun, "<< boleh;

cout<<"\n\n############################";
Pada gambar di atas dapat kita lihat dimana syarat umur tidak
terpenuhi dimana saya menginputkan nilai 19 (if(umur >= 1 && umur
<= 17)boleh="Maaf, Anda Tidak dapat Menonton";) maka akan
dilaksanakan kondisi yang kedua, yaitu else boleh=" Selamat
menonton :D";

3. Algoritma perulangan (rekursif)

Merupakan Algoritma yang digunakan untuk mengulang satu atau


sekelompok perintah berkali-kali agar memperoleh hasil yang diinginkan.

Ada beberapa struktur perulangan

for

while do

do while

contoh 1 :

for
Menuliskan nama anda sebanyak 100 kali !

Judul {Algoritma untuk mencetak pernyataan sebanyak 100 kali}


Deklarasi banyak : integer
Deskripsi
1. for (banyak=1;banyak<=100;banyak++)
printf(”shinta”)
2.end

Berikut adalah source codenya :


#include <stdio.h>
#include <stdlib.h>

using namespace std;

int main()

int banyak=1;

system("cls");
for(banyak;banyak<=100;banyak++)
{cout<<"\n informatika D " <<banyak;}
return 0;
}

Hasil :
Contoh 2 :
While do

Menuliskan nama anda sebanyak 100 kali !

Judul {Algoritma untuk mencetak pernyataan sebanyak 100 kali}


Deklarasi banyak : integer
Deskripsi
1. banyak = 1;
2. while (banyak<=100) do
printf(”shinta”)
banyak = banyak + 1
3.end

Berikut adalah source codenya :

#include<iostream>

using namespace std;


int main()
{
int banyak=1;

while(banyak<=100)
{cout<<"\nhanu "<< banyak;
banyak=banyak+1;}

return 0;
}

Hasil :
Contoh 3 :

Do while

Menuliskan nama anda sebanyak 100 kali !


Judul {Algoritma untuk mencetak pernyataan sebanyak 100 kali}
Deklarasi banyak : integer
Deskripsi
1. banyak = 1;
2. do
printf(”shinta”)
banyak = banyak + 1
while (banyak<=100)
3.end

Source code :

#include<iostream>

using namespace std;


int main()
{
int banyak=1;
do{
cout<<"\ninformatika D "<< banyak;
banyak=banyak+1;

}while(banyak<=100);
return 0;
}

Hasil :
C. Implementasi

Buatlah program dengan menggunakan struktur penyeleksian kondisi dalam


bahasa C++ !
SOAL
Bank SHINTA dalam perhitungan deposito ditentukan dari golongan dan
jangka waktu (periode/bulan). Dengan ketentuan :
Golongan A jum_awal = 2.000.000
Golongan B jum_awal = 1.750.000
Golongan C jum_awal = 1.250.000
Golongan D jum_awal = 1.000.000
selain itu jum_awal = 750.000

Source code :

#include<iostream>
#include <stdlib.h>

using namespace std;


int main()

{
int periode;
long jum_awal,jum_akhir;
char gol;
float bunga;

system("clear");

cout <<"\n PERHITUNGAN DEPOSITO BANK SHINTA";


cout <<"\n -----------------------";
cout <<"\n Masukkan Golongan : ";
cin >> gol;
cout <<"\n Masukkan Periode : ";
cin >> periode;
switch(gol)
{ case 'A' :
jum_awal = 2000000;
break;
case 'B' :
jum_awal = 1750000;
break;
case 'C' :
jum_awal = 1250000;
break;
case 'D' :
jum_awal = 1000000;
break;
default: jum_awal = 750000;
}

if (periode>=1 && periode<=3) bunga = 0.18;


else if (periode>=4 && periode<=6) bunga = 0.21;
else if (periode>=7 && periode<=12) bunga = 0.24;
else bunga = 0.27;
cout << "\nBunga : " << bunga;
cout << "\nJumlah Uang Awal : " << jum_awal;

jum_akhir=((bunga/periode)*jum_awal)+jum_awal;

cout << "\nJumlah Uang Akhir : " << jum_akhir;

return(0);
}

Hasil :
Buatlah program yang menampilkan :

Source code :

#include <iostream>
#include<stdlib.h>
#include <stdio.h>

using namespace std;

int main()
{

int pilihan_pengobatan,obat;
float diskon;
double biaya,biaya_pengobatan,hasil_diskon,hasil,Jumlah_uang,kembali;
char ulang;
do{
system("cls");

cout<<"\nPerhitungan Biaya Klinik gigi";


cout<<"\n_______________________________";
cout<<"\n\nPilihan Pengobatan :";
cout<<"\n1. Pemeriksaan Gigi 4. Bersikan Kapur Gigi";
cout<<"\n2. Cabut Gigi 5. Pemasangan Kawat Gigi";
cout<<"\n3. Tambal Gigi 6. Operasi Ringan";
cout<<"\n";

cout<<"\nMasukan Kode Pengobatan :";


cin>>pilihan_pengobatan;

switch(pilihan_pengobatan)
{
case 1:
biaya=125000;
break;

case 2:
biaya=150000;
break;

case 3:
biaya=225000;
break;

case 4:
biaya=300000;
break;

case 5:
biaya=3000000;
break;

case 6:
biaya=5000000;
break;
default:
cout<<"MAAF, ANDA SALAH INPUT, INPUT HANYA BERUPA
PILIHAN DI ATAS.";
exit(0);
system("cls");
}

cout<<"\nMasukan Jumlah Obat :";


cin>>obat;

if (obat>=0 && obat<=1)diskon=0.25;


else if (obat>=2 && obat<=3)diskon=0.20;
else diskon=0.15;

hasil_diskon=biaya*diskon;
hasil=biaya-hasil_diskon;

cout<<"\njumlah Biaya Yang Di Bayar : "<<hasil;

cout<<"\nJumlah Uang : ";


cin>>Jumlah_uang;

kembali=Jumlah_uang-hasil;

cout<<"Kembali : "<<kembali;

cout<<"\n";
cout<<"\nApakah anda ingin Mengulang? ";
cout<<"[Y/N] :";
cin>>ulang;
}while(ulang=='Y' || ulang=='y');
cout<<"\nterimakasih sudah mampir";

return 0;
}

Hasil :

Anda mungkin juga menyukai