Nama :
Kelas : E
1. Diketahui 3 variabel P,Q, dan R. Buat algoritma sehingga output yang dihasilkan adalah nilai
P=Q,nilaiQ=R,nilai R=P, ditanya algoritma?
Jawab :
o Notasi 1
Suatu variable p dapat diartikan sebagai rumus penambahan dan pengurangan begitu juga
perkalian dan pembagian dengan menggunakan bilangan ganjil/genap sehingga dapat
menghasilkan nilai yang sama terhadap variable yang lain, meskipun disetiap variable berbeda
rumus pada akhirnya.
o NOTASI 1
o NOTASI 2 :
Sintaks : P = Q
Algoritma : P <- Q
Arti : Bahwa Nilai P diberi harga Nilai Q
Nilai P akan SAMA DENGAN nilai Q dan Nilai Q TETAP
- Contoh Soal 1:
Diketahui P=0, Q=5 dan R=10. Diberikan algoritma P=Q, Q=R, maka nilai P, Q, R sekarang ?
Jawab
Diketahui P = 0, Q = 5, R = 10
P = Q –> Pada saat ini nilai dari Variabel P akan diberi nilai dari Variabel Q (P = 5)
Q = R –> Pada saat ini nilai dari Variabel Q akan diberi nilai dari Variabel R (Q = 10)
Maka nilai P, Q dan R sekarang adalah P = 5, Q = 10 dan R = 10
- Contoh Soal 2:
Diketahui Algoritma P=10, P=P+1 dan Q = P. Berapakah nilai P dan Q ?
Jawab
Algoritma:
P = 10 –> Pada saat ini nilai dari Variabel P akan diberi nilai 10
P = P + 1 –> Pada saat ini nilai dari Variabel P yang baru adalah nilai dari variabel P yang lama
ditambah 1 (10 + 1 = 11)
Q = P –> Pada saat ini nilai dari variabel Q diberi nilai dari variabel P yang baru (Q =11)
- Contoh Soal 3:
Diketahui 3 varibael peubah P, Q dan R. Agar isi Q ditaruh di P, isi R ditaruh di Q dan isi P
ditaruh di R,maka Algoritma yang dapat ditulis adalah ..?
Jawab
Agar isi Q ditaruh di P, algoritma yang dapat ditulis adalah (P <- Q atau P=Q)
Agar isi R ditaruh di Q, algoritma yang dapat ditulis adalah (Q <- R atau Q=R)
Agar isi P ditaruh di R, algoritma yang dapat ditulis adalah (R <- P atau R=P)
mulai
DIMISALKAN VARIABEL
p=0,VARIABEL Q=5,R=10
Rumus : P=0, Q=5, R=10
Output P=Q
HASIL DARI PROSES DENGAN
MENGGUNAKAN VARRIABEL PEUBAH
Input Q =.............
Output Q=R
Input R=.............
selesai
2. Seorang petani akan bepergian kekota dengan membawa seekor kambing , anjing dan
tempat yang ketiganya memiliki berat yang tidak jauh berbeda. Ditengah jalan petani harus
menyebrangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut
tidak diperbolehkan membawa bawaannya sekaligus mengingat kapasitas kekutan perahu
tersebut, dan untuk melaluinya petani harus membawa satu persatu bawaannya.
Ditanya : berapakali petani tersebut harus melalui jembatan dengan memperhatikan bahwa
kambing makan rumput anjing makan kambing?
o NOTASI 1 :
o NOTASI 2
Perahu,dayung,petani,sebrangkan kambing,anjing,rumput,dari
A ke B
Proses meyebrang ke A
Masukkan rumput
Proses menyebrang ke B
KELUARKAN RUMPUT
DARI PERAHU SETELAH
Keluarkan rumput dan masukkan kambing SAMPAI KE B LALU
MASUKKAN KAMBING
Proses menyebrang ke A
Proses menyebrang ke B
Keluarkan anjing
Proses menyebrang ke A
Masukkan kambing
Proses menyebrang ke B
Keluarkan kambing
selesai
3. Bagaimana caranya untuk menyeberangkan tiga orang wanita yang sedang dikejar
oleh Tiga orang pria ke sisi pulau yang ada diseberang pulau?
W1 = Wanita 1
W2 = Wanita 2
W3 = Wanita 3
P1 = pria1
P2 = Pria2
P3 = Pria3
NOTASI 1
- Langkah 1: delapan kali menyebrangkan dan nol kali lewat jembatan
- Langkah 2 : cara menyebrangkannya
NOTASI 2
Cara menyelesaikannya yaitu :
1. Sebrangkan P1 dan P2 terlebih dahulu
2. Setelah sampai disebrangkan, keluarkan P1
3. Lalu sebrangkan P2 dan masukkan P3 lalu sebrangkan mereka
4. Keluarkan P2 sebrangkan P3
5. Keluarkan P3 sebrangkan W1 dan W2
6. Keluarkan W1 masukkan P1, lalu sebrangkan mereka
7. Keluarkan P1 masukkan W3, lalu sebrangkan mereka
8. Keluarkan W2 dan W3, lalu sebrangkan P2
Setelah itu biarkan P1, P2, P3 disebrang sana..
selesai...
Mulai
Proses menyebrang
Keluarkan cow 2
Proses menyebrang
Proses menyebrang
Proses menyebrang
Proses menyebrang
Proses menyebrang
Keluarkan cow 2 dan biarkan ke sebrang
selesai
Refisi Tugas UTS
Soal !
jawab :
Notasi 1
Dengan bentuk secara umum penulisan factorial untuk bilangan asli (n) dapat ditulis
n!=nx(n-1)x(n-2)x....x2x1
Misal : 5!+4!+3!=(5x4x3x2x1)+(4x3x2x1)+(3x2x1)=150
Sehinggga suatu bilangan jika difaktorialkan akan membentuk sebuah perkalian deret dan jika
dilakukan penjumlahan dalam bentuk factorial dapat menghasilkan billangan bulat. Jadi dalam hal
inipemilihan suatu jenis variable atau objek penampung untuk hasil dari (n) atau penjumlahan
factorial boleh beracuan hanya pada bilangan bilangan bulat. Seelain itu dalam penjumlahan
factorial jika menemukan suatu bilangan adalah (0!) maka hsail dari (0!=1) karena itu sudah
ketetapan.
Notasi 2
Mial variabelA=5,B=4,C-3
A=5,B=4,C=3
Input A,B,C
Proses peritungan inputan dengan rumusan nx(n-1).... misal
5!=5x4x3x2x1
Proses perhitungan inputan A
mi
Output nilai B
Output nilai C
nPn=n!/(n-n)!/0! n!=n!/0!
Poses perhitungan dengan
0!=n!/n!=1 jadi 0!=1
bilangan 0
Proses pengulangan
Apakah variable A,B,C ≠ 0 atau looping
hasil
selesai
o penjumlahan matriks beda dimensi
Notasi 1 :
Melakukan penjumlahan suatu matriks mempunyai ukuran yang disebut ordo. Ordo matriks
berbentuk axb dengan a banyak baris dan b banyak kolom dalam setiap penjumlahan matiks dapat
dirumuskan sebagai berikut dengan dimensi yang sama :
A B E F A+E B+F
C D G H C+G D+H
Jika penjumlahan matriks dengan ordo yang berbeda maka didalam setiap kotak bilangan matriks
yang akan dijumlahkan dengan bilngan matriks lainnya yang berbeda dimensi atau ordo dengan
rumusan baris + baris, sehinga dapat mennghasilkan nilai dari bilangan itu sendiri dan akan
menyisakan satu kolom sisa yang tidak dapat dijumlahkan lagi dengan matiks dimensi lawan.
Sehingga bilangan tersebut tetap tidak terproses. Dalam hal ini pemilihan suatu jenis variable atau
objek penampung untuk hasil dari penjumlahan matriks tidak bisa diproses atu ERROR.
Notasi 2 :
2+6 3+7
4+8 5+9
Output ERROR
Proses penjumlahan dengan ordo yang
berbeda A(2 3) dengan B(6 7 8) terjadi
kesalahan dalam proses karena C(2+6 3+7
) angka 8 tidak terproses
Dilakukan pengulangan/looping 8
selesai
Tugas UAS
1. Mulai
2. Inputkan A,B
3. Cek apakah A>B ?
- Jika “ya” tulis A
- Jika “tidak” tulis B
4. selesai
FLOWCHART:
Source code
#include <stdio.h>
#include <conio.h>
main()
{
int i,j;
char ulang;
atas:
clrscr();
printf(“Program perbandingan 2 bilangan\n”);
printf(“===============================\n”);
printf(“\n”);
printf(“masukan bilangan 1 : “);scanf(“%i”,&i);
printf(“masukan bilangan 2 : “);scanf(“%i”,&j);
printf(“\n”);
printf(“===================================\n”);
if (i>j)
{
printf(” bilangan 1(%i) lebih besar dari bilangan 2(%i)\n”,i,j);
printf(” bilangan 1(%i) lebih kecil dari bilangan 2(%i)\n”,j,i);
}
else if (j>i)
{
printf(” bilangan 1(%i) lebih besar dari bilangan 2(%i)\n”,j,i);
printf(” bilangan 1(%i) lebih kecil dari bilangan 2(%i)\n”,i,j);
}
else
{
printf(” bilangan 1(%i) sama dengan bilangan 2(%i)\n”,i,j);
}
printf(“\n”);
printf(” mau ulang lagi[y/n]? : “);scanf(“%s”,&ulang);
if (ulang == ‘Y’ || ulang == ‘y’)
goto atas;
getch();
}
Tugas 5
1. Notasi 1
Untuk mengurutkan bilangan dierlukan variable array untuk menampung semua bilangan yang akan
diurutkan. Proses pengurutkan dilakukan dengan membandingkan semua elemen array satu persatu
Dimetode bubble sort,proses pengurutan dimulai dengan membandingkan elemen pertama untuk
mendapatkan angka terbesar. Lalu angka tersebut diletakkan pada elemen terakhi. Jika isi elemen
ke2 lebih kecil dari elemen pertama maka isi kedua elemen tersebut ditukar sehingga isi array
berubah.
Lalu elemen ke2 dibandingkan dengan elemen ke3. Jika isi elemen ke3 lebih besar, maka isi kedua
elemen tersebut tidak ditukar.
Perbandingan selanjutnya dilakukan terhadap elemen ke 3 dengan ke4 karena elemen ke 4 lebbih
kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array sebelumnya berubah.
Proses perbandingan tersebut dilakukan secara berulang sampai pada elemen terakhir. Sehingga
pada akhirnya akan diasilkan bilangan terbesar yang ditempatkan pada posisi elemen terakhir.
Proses diatas hanya mencari bilangan terbesar perrtama. Ulangi proses tersebut untuk mencari
bilangan terbesar lainnya setelah bilangan terbesar pertama tadi. Namun proses perbandingannya
hanya dilakukan mulai dari elemen pertama sampai elemen ke 7. Isi elemen pertama dibandingkan
dengan elemen ke 2. Karena isi elemen ke 2 lebih besar, maka isi kedua elemen tersebut tidk
ditukar.
Kemudian elemen ke 2 dibandingkan dengan elemen ke 3. Karena elemen ke 3 lebih kecil. Lanjutkan
proses diatas sampai paa elemen ke 7.
Kini isi elemen ke 7 dan ke 8 sudsh urut berdasarkan bilangan kecil ke besar. Namun elemen lainnya
belum terurut. Untuk itu ulangi proses diatas, namun elemen yang dibandingkan hanya sampai pada
elemen ke 6 saja. Setelah itu, proses perbandingan diulangi lagi sampai elemen teakhir yang
dibandingkan yaitu elemen ke 2.
Notasi 2
I=0 J=J+1
J=0
N=0
N=N+1
Input BIL
BIL = 0
1 BILARR(I)<
BILARR(I+1)
TEMP = BILARR(I)
N=N+1 BILARR(I+1)=TEMP
BILARR(N)=BIL J = N-1 3
I=0
J = N-1
I=0 I=I+1
3 Print BILARR(I)
End
I=N
2. membandingkan 2 himpunan bilangan dengan jumlah n bilangan
Struktur Indonesia :
1. Mulai
2. Inisiasi bil1,bil2 sebagai integer.
3. Baca bil1.
4. Baca bil2.
5. Jika bil1=bil2 kerjakan langkah 7,
selain itu kerjakan langkah 6.
6. Jika bil1 > bil2 kerjakan langkah 8,
selain itu kerjakan langkah9.
7. Cetak “Kedua Bilangan Sama Besar”.
8. Cetak “Bil1 Lebih Besar Bil2″.
9. Cetak “Bil2 Lebih Besar Bil1″.
10. Selesai.
Flow chart
#include<conio.h>
#include<iostream.h>
void main(){
int bil1, bil2;
cout << “Masukan Bilangan Pertama :”;
cin >>bil1;
cout << “Masukan Bilangan Kedua :”;
cin >>bil2;
if (bil1==bil2) {
cout << “Bilangan Pertama Sama Dengan Bilangan Kedua”;
}
else if (bil1>bil2) {
cout << “Bilangan Pertama Lebih Besar Bilangan Kedua”;
}
else{
cout << “Bilangan Kedua Lebih Besar Bilangan Pertama”;
}
getch();
TUGAS DESIGN ANALISA ALGORITMA
NAMA :
MOCH RIDWAN
SAMUDRA RIZKY (12043145)
IVAN DEKA SURYA
KELAS : E