SUNGGUH BAHAGIA JIKA KITA HIDUP TANPA MEMBENCI DIANTARA ORANG-ORANG YANG MEMBENCI,KITA HIDUP TANPA MEMBENCI.

Selasa, 20 Desember 2011

Algoritma

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

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
·         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
Mencari nilai mahasiswa dengan index grade
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

SUNGGUH BAHAGIA JIKA KITA HIDUP TANPA MEMBENCI DIANTARA ORANG-ORANG YANG MEMBENCI,KITA HIDUP TANPA MEMBENCI.