LOGIKA ALGORITMA
Nama : Chandra Suryadi
Nim : 0101110007
Jurusan : Teknik Informatika
TENTANG SAYA
Data Pribadi
Nama : Chandra Suryadi
Jenis kelamin : Pria
Tempat,tanggal lahir :Tangerang,15 Agustus 1992
Alamat : JL.Iskandar Muda
Kewarganegaraan : Indonesia
Hobi : Game
Status : Belum Menikah
Agama : Buddha
E-mail : kings_chandra@yahoo.com
Web Blogspot : chandrasuryadi.blogspot.com
Pendidikan Formal
1999 – 2005 : SDN Negri Tangerang 7
2005 – 2008 : SMP Dharma Widya
2008 – 2011 : SMK Dharma Widya
2011 – Sekarang : STMIK Buddhi (Teknik Informatika )
Artikel Logika Algoritama
Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam bahasa.
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah – langkah dalam algoritma harus logis dan bernilai benar atau salah.
Kriteria Pemilihan Algoritma
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah algoritma. Langkah – langkah dalam algoritma harus logis dan bernilai benar atau salah.
Kriteria Pemilihan Algoritma
1. Ada Output, mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan
2. Efektifitas dan Efesiensi, Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
3. Jumlah Langkahnya Berhingga, maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
Keuntungan Pembuatan Algoritma
Keuntungan Pembuatan Algoritma
· Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang telaksanakannya.
· Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
· Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Sifat – Sifat Algoritma
· Banyaknya Langkah Instruksi Harus Berhingga,
· Langkah atau Instruksi harus Jelas,
· Proses harus Jelas dan mempunyai batasan,
· Input dan Output harus mempunyai Batasan,
· Efektifitas,
· Adanya Batasan Ruang Lingkup,
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.
· Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
Mulai |
Jumlah = 3 |
Input golongan |
Gol 1 |
Gol 2 |
Gol 3 |
5.000.000 |
6.000.000 |
7.000.000 |
Output golongan |
Selesai |
Tidak |
Tidak |
Ya |
Ya |
Ya |
Tidak |
Selesai |
Mulai |
Siapkan bahan |
Siapkan alat |
Panaskan minyak |
Goreng telur |
Goreng kembali |
Angkat telur |
Letakan dipiring |
Belum matang |
Flowchart |
Ya |
Tidak |
Mulai |
Input penjualan |
> 15 juta |
< 15 juta |
Output cetak nama dan komisi |
Selesai |
Komisi 20% * penjualan |
Tidak dapat komisi |
1. Mulai 2. Buat var hasil,penjualan : Integer 3. Input penjualan 4. Jika > 15 juta mendapatkan komisi 20% * penjualan 5. Jika < 15 juta tidak dapat komisi 0 % * penjualan 6. Cetak hasil 7. Selesai |
Judul Mencetak besar komisi Deklarasi Variabel hasil : String Variabel penjualan : Integer Deskripsi Input (penjualan) If pejualan > 15 juta then Hasil mendapat komisi 20% * penjualan Else Hasil tidak dapat komisi 0% * penjualan Output (hasil) |
Pseudocode |
Structure |
Flowchart |
Ya |
Tidak |
Ya |
Tidak |
Flowchart |
Output total |
Mulai |
Jumlah : 3 |
Input golongan |
Gol 1 |
Gol 2 |
Gol 3 |
Total = gaji + tunjangan |
Gaji 2.000.000 |
Gaji 3.000.000 |
Gaji 5.000.000 |
Tunjangan 600.000 |
Tunjangan 750.000 |
Tunjangan 1.000.000 |
Selesai |
Ya |
Ya |
Tidak |
Tidak |
Tidak |
Ya |
Pseudocode
Judul
Mencetak menghitung gaji
Deklarasi
Var gol, gaji, tunjangan : real;
Deskripsi
Input (gol)
If gol = 1 then
Gaji = 2.000.000
Tunjangan = 600.000
Else
If gol = 2 then
Gaji = 3.000.000
Tunjangan = 750.000
If gol = 3 then
Gaji = 5.000.000
Tunjangan = 1.000.000
Total = gaji + tunjangan
Output (total)
Structure Indonesia
1. Mulai
2. Buat var gol, gaji, tunjangan : real;
3. Input golongan
4. Jika,
Gol = 1 then
Gaji = 2.000.000
Tunjangan = 600.000
Else
Jika,
Gol = 2 then
Gaji = 3.000.000
Tunjangan = 750.000
Jika,
Gol = 3 then
Gaji = 5.000.000
Tunjangan = 1.000.000
5. Total = gaji + tunjangan
6. Output hasil
7. Selesai
Flowchart |
Selesai |
≥ 60 dan ≤ 79 |
Grade B |
≥ 40 dan ≤ 49 |
Grade D |
Output grade |
≥ 80 dan ≤ 100 |
Grade A |
≥ 0 dan ≤ 39 |
Grade E |
≥ 50 dan ≤ 59 |
Grade C |
Mulai |
Input nilai |
Ya |
Ya |
Ya |
Ya |
Ya |
Tidak |
Tidak |
Tidak |
Tidak |
Tidak |
Judul
Pseudocode |
Deklarasi
Nama mahasiswa : string
Nilai mahasiswa : real
Index grade : char
Deskripsi
Select nilai mahasiswa
Case (≥ 80 dan ≤ 100) Grade “A”
Case (≥ 60 dan ≤ 78) Grade “B”
Case (≥ 50 dan ≤ 59) Grade “C”
Case (≥ 40 dan ≤ 49) Grade “D”
Case (≥ 0 dan ≤ 39) Grade “E”
End select
10 | 40 |
20 | 50 |
30 | 60 |
#include <stdio.h>
void main()
{
int matrik [3][2] = {{10,40},{20,50},{30,60}},
for (int b = ø; b<3 ; b++)
{
for (int k = ø ; k<2 ; k++)
{
printf (“%d”, matrik [b][k]),
}
}
}
Kepangkatan
#include <iostream.h>
#include <conio.h>
long int pangkat (int x, int y);
void main()
{
int x,y;
cout<<”Menghitung x^y”<<endl;
cout<<”x = “;
cin>>x;
cout<<”y = “;
cin>>y;
cout<<x<<”^”<<y<<”=”
<<pangkat (x,y)<<endl;
}
long int pangkat (int x, int n)
{
if (n==1)
return (x);
else
return (x * pangkat (x,n-1);
}
}
1. Buatlah tampilan input data dan tercetak data yang di input
Contoh :
Masukan nomor pegawai
Masukan nama pegawai
2. Gaji yang diterima pegawai dari gaji pokok tunjangan dan upah lembur, besar tunjangan 15% dari gaji pokok, besar upah lembur perjam 3% dari gaji pokok, buatlah program yang menghitung gaji yang di terima pegawai. Masukan (input) nama pegawai, gaji pegawai, jumlah kam lembur (output) gaji pokok, tunjangan, uang lembur dan total gaji.
3. Mencari bilangan terbesar dari dua buah bil,
Input : Masukan bilangan pertama
Masukan bilangan kedua
Output : tampilan pesan
Jawaban
1. #include <iostream.h>
void main()
{
int x,y;
cout<<”Masukan nomor pegawai :”<<endl;
cin>>x;
cout<<”Masukan nama pegawai :”<<endl;
cin>>y;
cout<<endl;
cout<<”Nama Anda : “<<x<<endl;
cout<<”Nomor ID Anda : “<<y<<endl;
}
2. #include <iostream.h>
void main()
{
int x,y,z;
cout<<Nama Pegawai :”;
cin>>x;
cout<<”Gaji : “;
cin>>y;
cout<<”Masukan jumlah jam lembur : “;
cin>>z;
tunjangan = y * 0,15;
uang_lembur = 0,03 * y * z;
total_gaji = y + tunjangan + uang_lembur;
cout<<”Penghasilan yang diterima”<<endl;
cout<<”Gaji pokok = “<<y<<endl;
cout<<”Uang lembur = “<<uang_lembur<<endl;
cout<<”Tunjangan = “<<tunjangan<<endl;
cout<<”Total gaji = “<<total_gaji<<endl;
cout<<endl;
}
3. #include <iostream.h>
void main()
{
int x,y;
cout<<”Masukan bilangan pertama : “;
cin>>x;
cout<<”Masukan bilangan kedua : “;
cin>>y;
if (x>y)
cout<<”Bilangan terbesar adalah : “<<x<<endl;
else if (y>x)
cout<<”Bilangan terbesar adalah : “<<y<<endl;
else if (x=y)
cout<<”Bilangan “<<x<<” dan “<<y<<” sama besar “<<endl;
}
1. Gunakan Selection sort dengan nilai input sebagai berikut :
32 75 69 58 21 40
2. Gunakan bubble sort dengan nilai input sebagai berikut :
22 10 15 3 8 2
Jawaban
1. 32 75 69 58 21 40
· Pembanding posisi
32 < 75 0
32 < 69 0
32 < 58 0
32 < 21 (tuker index) 4
21 < 40 4
Tuker data ke-0 (32) dengan data ke-4 (21)
21 75 69 58 32 40
· Pembanding posisi
75 > 69 (tuker index) 2
69 > 58 (tuker index) 3
58 > 32 (tuker index) 4
32 < 40 4
Tuker data ke-1 (75) dengan data ke-4 (32)
21 32 69 58 75 40
· Pembanding posisi
69 > 58 (tuker index) 3
58 < 75 3
58 > 40 (tuker index) 5
Tuker data ke-2 (69) dengan data ke-5 (40)
21 32 40 58 75 69
· Pembanding posisi
58 < 75 3
58 < 69 3
Tuker data ke-3 (58) dengan data ke-3 (58)
21 32 40 58 75 69
· Pembanding posisi
75 > 69 (tuker index) 5
Tuker data ke-4 (75) dengan data ke-5 (69)
2. 22 10 15 3 8 2
· 22 10 15 3 8 2
22 10 15 3 2 8
22 10 15 2 3 8
22 2 10 15 3 8
2 22 10 15 3 8
2 22 10 15 3 8
· 2 22 10 15 3 8
2 22 10 15 3 8
2 22 10 3 15 8
2 22 3 10 15 8
2 3 22 10 15 8
2 3 22 10 15 8
· 2 3 22 10 15 8
2 3 22 10 8 15
2 3 22 8 10 15
2 3 8 22 10 15
2 3 8 22 10 15
2 3 8 22 10 15
· 2 3 8 22 10 15
2 3 8 22 10 15
2 3 8 10 22 15
2 3 8 10 22 15
2 3 8 10 22 15
2 3 8 10 22 15
· 2 3 8 10 22 15
2 3 8 10 15 22
2 3 8 10 15 22
2 3 8 10 15 22
2 3 8 10 15 22
2 3 8 10 15 22
Penjumblahan Matriks (2)
Array A
1 | 2 | 3 | 4 | 5 |
1 | 2 | 3 | 4 | 5 |
1 | 2 | 3 | 4 | 5 |
1 | 2 | 3 | 4 | 5 |
+
Array B
2 | 2 | 2 | 2 | 2 |
3 | 3 | 3 | 3 | 3 |
4 | 4 | 4 | 4 | 4 |
5 | 5 | 5 | 5 | 5 |
For(int i=0;i<4;i++)
{
For(int j-0 ;j<4;j++)
{
Matriks C [ i , j ] = matriks A [ i , j ] + matriks [ i , j ];
}
}
Hasil
3 | 4 | 5 | 6 | 7 |
4 | 5 | 6 | 7 | 8 |
5 | 6 | 7 | 8 | 9 |
6 | 7 | 8 | 9 | 10 |
Tidak ada komentar:
Posting Komentar