Senin, 10 September 2012

Laporan Pemograman


BAB I
PENDAHULUAN

1.1  Latar Belakang

            Dalam penulisan laporan praktikum ini, penulis akan memberikan beberapa pengertian yang berhubungan dengan judul laporan, karena tanpa pengertian yang jelas akan menyebabkan informasi yang disajikan tidak sesuai dengan hasil praktikum yang dipaparkan.
Algoritma dan pemrograman merupakan ilmu yang sangat esensial dalam membuat program. Dengan pemrograman itu sendiri, sebuah program bisa disusun dibantu dengan algoritma. Algoritma membantu penyelesaian masalah yang ingin dipecahkan untuk membuat sebuah program, kemudian program disusun oleh programmer dengan mengcompile source code  menjadi  sebuah  program  yang dapat dieksekusi.
Algoritma dapat disusun dalam bentuk pseudo code maupun flowchart. Pseudo code adalah Kode atau tanda yang menyerupai (pseudo) program atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma. Sementara flowchart adalah suatu teknik untuk menyusun rencana program yang telah dipergunakan oleh kalangan programmer komputer sebelum algoritma menjadi populer. Flowchart menggunakan simbol gambar yang menunjukkan aliran dari proses terhadap data.
Listing pemrograman tersebut ditulis dalam bahasa pemrograman. Terdapat macam-macam bahasa pemrograman, dari tingkat rendah seperti bahasa mesin sampai bahasa tingkat tinggi seperti Pascal, C, Delphi dll. Setiap bahasa pemrograman memiliki kelemahan dan kelebihan masing-masing. Tinggal peran programmer itu sendiri yang memilih bahasa pemrograman yang sesuai dengan kebutuhannya.
Tentunya ada faktor lain yang perlu diperhatikan dalam pemrograman,  seperti efisiensi dalam menuliskan source dan seberapa user  friendlynya program tersebut. Semua itu tentunya penting agar program yang dibuat lebih berdaya guna dan memudahkan pengguna komputer.

1.2  Tujuan Laporan
Laporan ini di buat dengan tujuan sebagai berikut :

1.      Mengenal dan memahami fungsi dasar dalam Bahasa C.
2.      Mengerti dan memahami header program Bahasa C.
3.      Dapat menggunakan fungsi-fungsi dasar pemrograman C.

1.3  Manfaat Laporan
Laporan ini bermanfaat untuk :
1.      Dapat lebih mengenal apa itu pemograman?
2.      Dapat memahami dasar-dasar pemograman Bahasa C.
3.      Dapat mengerti cara membuat listing dalam pemograman Bahasa C.
4.      Dan dapat mengerti cara menjalankan pemograman Bahasa C.







BAB II
LANDASAN TEORI

Dalam praktikum ini digunakan bahasa pemrograman C, untuk itu dibawah ini akan diuraikan beberapa teori dasar mengenai bahasa C sebagai berikut ini:
2.1.   Sejarah Bahasa C
Bahasa C diciptakan oleh Dennis Ritchie bersama dengan Brian Kernighan pada tahun 1970-an di Bell Telephone Laboratories Inc. Bahasa ini mendapat sambutan dari para programmer dan berhasil digunakan untuk menciptakan berbagai software baru seperti VisiCalc, WordStar,Lotus dll. Bahkan system operasi UNIX juga dilahirkan dari bahasa ini.
Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya menggunakan fungsi-fungsi sebagai subroutinenya(fungsi lain selain fungsi utama). Subroutine ini ditulis setelah fungsi utama(main) atau diletakkan pada file pustaka(library). Bila file pustaka ini akan dipakai dalam suatu program,  maka nama file headernya harus dilibatkan dalam program menggunakan preprocessor directive

2.2.   Struktur Bahasa C
Bahasa C memiliki beberapa elemen dasar seperti:
1.      Karakter
Mengacu dari system standar kode internasional ANSI karakter yang dikenal didalam bahasa C adalah karakter abjad/huruf, angka, dan simbol-simbol khusus.


2.      Keyword
Keyword adalah suatu kata yang memiliki makna dan fungsi tertentu, karena itu ia disebut juga reserved word. Hampir semua keyword ditulis dalam huruf kecil.
3.      Identifier
Identifier dapat dikatakan sebagai suatu tempat untuk menyimpan nilai. Identifier dapat diberi nama unik dan bisa memiliki tipe data.Ia dibagi menjadi dua:
1.Konstanta: nilainya tetap selama program     berjalan(dieksekusi),cara untuk mengubahnya hanya melalui source code saja.
 2.Variabel: nilainya dapat berubah atau diubah selama program berjalan(dieksekusi).
Yang mengubahnya hanyalah user atau proses.
4.      Tipe data
Merupakan pengelompokan data yang digunakan untuk merepresentasikan jenis sebuah  nilai yang terdapat pada program.
5.      Operator
Operator berkaitan erat dengan kata operasi. Operator ditandai dengan sebuah atau beberapa simbol dan kata.
6.      Punctuator
Punctuator adalah simbol-simbol yang berkenaan sebagai tanda baca pada struktur penulisan bahasa C.

Dibawah ini adalah contoh program bahasa C:
#include <stdio.h>
 int main()
 {
 int a,b,c;
 printf("Enter the first value:”);
 scanf(“%d”,&a);
 printf("Enter the second value:”);
 scanf(“%d”,&b);
 c = a + b;
 printf("%d + %d = %d\n",a,b,c);
 return 0
 }

 Dari contoh diatas dapat disimpulkan bahwa struktur program bahasa C adalah:
1.      Adanya fungsi main. Suatu program C minimal harus memiliki function main(), tanpa function itu maka program C tidak dapat dieksekusi tapi bisa dikompilasi.
2.      Lalu statement, Statement adalah suatu baris instruksi/perintah tertentu. Statement menyebabkan suatu tindakan akan dilakukan oleh komputer.
3.      Preprosessor Directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta atau fungsi makro tertentu.
4.      Deklarasi variabel menyebabkan komputer menyediakan tempat yang diberi nama (identifier) a, bdan cdengan ukuran integer (2 byte = 16 bit).
5.      printf akan membuat komputer mengirim teks yang berada dalam fungsi tersebut ke layar monitor, sedangkan scanf membuat komputer menanti masukan dari pemakai melalui keyboard.
6.      Adanya proses. Pada program ini akan dikerjakan proses aritmatika, yaitu proses memberi nilai (assignmentyang dipakai tanda “=”) variabel “c”dengan nilai yang ada dalam variabel “a”ditambah nilai yang ada dalam variabel “b”.
7.      Yang terakhir adalah proses mencetak ke layar monitor dengan format yang sesuai.
8.      Selain function main()dapat ditambahkan function lain.
9.      Jika function akandiletakkan disembarang tempat dari function main(), maka function tersebut harus dideklarasikan terlebih dahulu sebelum function main()

2.3.   Macam-macam Pernyataan

Ada macam-macam pernyataan atau statement yang digunakan dalam bahasa C. Pernyataan pernyataan itu diuraikan sebagai berikut:
a.       Pernyataan Kosong(Null Statement)
Pernyataan  ini merupakan yang paling sederhana, kita hanya perlu menambahkan pengakhir titik koma(;) saja di bagian akhirnya.Tidak ada tindakan yang dilakukan dalam pernyataan ini.
b.      Pernyataan Ungkapan(Expression Statement)
Sementara pernyataan yang ini dibentuk dari suatu ungkapan dan diakhiri dengan titik koma.
c.       Pernyataan kendali(Control Statement)
Statement ini digunakan untuk mengendalikan proses dari program, yaitu:

2.4  Penyeleksian kondisi (Percabangan):

1.      If, case dan  switch

 Fungsi if dapat dibagi menjadi 3 yaitu:
1.      If tunggal:

    If(kondisi)
    {
       Perintah benar;
    }


2.      If-else:

    If(kondisi)
   {
       Perintah benar;
    }

3.      Nested if:

    If(kondisi 1)
   {
    If(kondisi 2)
      {
         Perintah benar kondisi 2;
      }
      Else
      {
         Perintah salah kondisi 2;}
      }
      Else
      Perintah salah kondisi 1;

2.5 Fungsi Switch

Fungsi switch memiliki struktur sebagai berikut:

switch (ungkapan)
{
case nilai1: perintah jika nilai1=ungkapan;break;
case nilai2: perintah jika nilai2=ungkapan;break;
………
case nilaiN: perintah jika nilaiN=ungkapan;break;
default:
perintah salah nilai 1 s/d N;
}


2.6  Lompatan(Perulangan):

Looping atau perulangan adalah pengulangan perintah perintah sampai mencapai keadaan tertentu. Fungsi-fungsi perulangan dapat dibagi menjadi:for, while, do-while, goto, break dan continue.
-          For:
Perulangan for digunakan untuk menghasilkan pengulangan beberapa kali tanpa penggunaan kondisi apapun. Bentuk dasarnya adalah:

For(nilai awal;batas;pencacah)
{
   Badan perulangan
}

-          While:
Perulangan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali tanpa diketahui pasti berapa kali perulangan tersebut akan dilakukan. Struktur umum perulangan ini adalah:
Nilai awal;
While(batas)
{
   Badan perulangan;
 Pencacah;
}

-          Do while:
Mirip seperti while,hanya saja pada do while pernyataannya hanya sekali dieksekusi. Bentuk umumnya adalah:
Nilai awal;
do
{
   Badan perulangan;
   Pencacah;
} while(batas);

-          continue-break:
Biasanya digunakan pada switch dan loop. Bila digunakan pada for bentuknya adalah:

for(nilai awal;batas;pencacah)
{
   If(batas) continue;
   { pernyataan;}
   If(batas) break;
}

-          goto:
Bentuk umumnya adalah:
goto bawah;
           Pernyataan1;
           Pernyataan2;
bawah: pernyataan3;



2.7  Pernyataan Jamak(Compound /Block Statement)

Pernyataan atau statement yang terdiri dari gabungan beberapa statement tunggalyang ditulis pada posisi diantara tanda kurung kurawal(“{”dan“}”)

2.8  Fungsi

1. Pengenalan Fungsi dan parameter

Fungsi adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi satu,letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Sementara parameter adalah nama nama peubah yang dideklarasikan pada bagian header fungsi.Secara harfiah, penulisan dalam bahasa C disusun secara modular. Bafhkan pada program utamanya juga berbentuk modul. Secara umum bentuk fungsi C adalah sebagai berikut:

Tipe_data nama fungsi (daftar_parameter)
{
Tubuh_fungsi;

}

2.      Deklarasi

Ada dua cara untuk mendeklarasikan fungsi yaitu secara langsung dan tidak langsung. Pada deklarasi langsung, fungsi ditempatkan diatas fungsi main(). Sementara secara tidak langsung dapat dilakukan dengan menempatkan nama prototype fungsi diatas fungsi main() dan implementasinya dibawahnya.


3.       Parameter

  Parameter bisa dilewatkan kedalam sebuah fungsi dengan dua cara sbb:
  1.Call by Value
Adalah suatu cara melewatkan sebuah nilai pada parameter.

2.Call by Reference
Adalah suatu cara melewatkan alamat sebuah variable pada sebuah parameter. Untuk jenis parameter ini, perlu ditambahkan operator pointer yaitu & atau * di depannya.

4.       Rekursif

Rekursif adalah pemanggilan oleh dirinya sendiri. Oleh karena fungsi bisa menghasilkan nilai balik, maka fungsi juga bisa memanggil dirinya sendiri.
















BAB III
HASIL PRAKTIKUM DAN ANALISA

3.1  Modul  I Pengenalan Bahasa C

1.      - Listing
 #include <stdio.h>
#include<conio.h>
int main()
{
                        int c;
                        double a;
                        float b;
                        long int x;
                        char nama[15];
                        char F;
                        printf("Masukkan angka berdasarkan tipe data\n");
                        printf("Bilangan Bulat (int):");scanf("%d",&c);
                        printf("Bilangan Riil (float):");scanf("%f",&b);
                        printf("Bilangan double:");scanf("%lf",&a);
                        printf("Bilangan long Integer:");scanf("%li",&x);
                        printf("Bilangan Karakter:");scanf("%s",&F);
                        printf("Masukkan nama anda (string) : ");scanf("%s",&nama);
                        printf("\n Tampilkan kembali yang anda input tadi\n");
            printf("integer: %d\nLong Integer: %li\nFloat: %f\nLong Float: %lf\nKarakter: %c\nString: %s",c,x,b,a,F,nama);
                        return 0;
}

-       Hasil Execute

-          Analisa
Pada program menjalankan inputan data yang telah kita masukkan sesuai dengan type datanya,  pada bilangan bulat integer kita inputkan datanya sesuai dengan type data integer begitu juga dengan bilangan rill(float),bilangan double, dan long integer, dan pada karakter kita memasukkan 1 karekter sedangkan pada string kita bisa menginputkan data sesuai dengan karakter yang kita berikan.

2.      Tugas1.1
-          Listing
#include<stdio.h>
int main()
{
                        int a,b,c;
printf("masukkan angka pertama : ");scanf("%d",&a);
                        printf("masukkan angka kedua : ");scanf("%d",&b);
                        c=a+b;
                        printf("jumlah angka yang anda input adalah %d",c);
                        return 0;
}

-          Hasil Execute

-          Analisa
 Program ini menjalankan penjumlahan inputan bilangan pertama dengan inputan bilangan kedua.

3.                  Tugas1.2

-            Listing
#include<stdio.h>
int main()
{
            int nim;
            char nama[20],alamat[20];
            printf("\t\t\t Laboratorium Pemograman\n");
            printf("\t\t\tTeknik Informatika Unimal\n");
            printf("=====================================================================\n");
            printf("NIM\t\t\t : "); scanf("%i", &nim);
            printf("\nNAMA\t\t\t : "); scanf("%s", &nama);
            printf("\nALAMAT\t\t\t : "); scanf("%s", &alamat);
           
            printf("=====================================================================\n");
            printf("\nIDENTITAS ANDA :\n");
            printf(" NIM\t\t Nama\t\t Alamat\n");
            printf("=====================================================================\n");
            printf(" %i\t %s\t %s\t\n",nim,nama,alamat);
            printf("=====================================================================\n");
            return 0;
}

-          Hasil Execute
-          Analisa
Program ini menjalankan bilangan integer dan karakter yang di inputkan dan menampilkannya kembali.


3.2  Modul II Pernyataan Kendali-Pengujian.

a.      Latihan 2.1
-            Listing

#include<stdio.h>
int main()
{
            int a,c=10;
            printf("Masukkan sebuah nilai : "); scanf("%d",&a);
            if(a<10)
            { printf("Nilai %d lebih kecil dari %d\n",a,c); }
            printf("Jumlah %d + %d = %d\n",a,c,a+c);
            return 0;
}
-          Hasil Execute



-          Analisa
Program ini akan menjalankan 2 perintah dibawah if jika angka yang diinput lebih kecil dari 10 sedangkan angka yang diinput lebih besar dari 10 perintah yang dijalankan hanya perintah yang kedua.

b.      Latihan 2.2

-            Listing
#include<stdio.h>
int main()
{
            int a,c;
            printf("Masukkan nilai angka pertama : "); scanf("%d",&a);
            printf("Masukkan nilai angka kedua : "); scanf("%d",&c);
            if(a<c)
            { printf("Nilai %d lebih kecil dari %d\n",a,c); }
            else
            { printf("Nilai %d lebih besar dari %d\n",a,c); }
            return 0;
}
-          Hasil Execute
-          Analisa
Program ini akan menjalankan perintah pertama jika angka yang diinput pertama lebih kecil daripada angka yang diinput kedua, begitu juga sebaliknya akan dijalankan perintah kedua jika angka yang diinput pertama lebih besar daripada angka yang diinput kedua.
c.       Latihan 2.3

-            Listing
#include<stdio.h>
int main()
{
            int a,b,c;
            printf("Masukkan nilai angka pertama : ");scanf("%d",&a);
            printf("Masukkan nilai angka kedua : ");scanf("%d",&b);
            printf("Masukkan nilai angka ketiga : ");scanf("%d",&c);
            if(a>c && a>b)
            { printf("Angka %d terbesar dari %d dan %d \n",a,b,c); }
            else if(c>a && c>b)
            { printf("Angka %d terbesar dari %d dan %d \n",c,b,a); }
            else
            { printf("Angka %d terbesar dari %d dan %d \n",b,c,a); }
            return 0;
}
-          Hasil Execute

-          Analisa
Program ini akan menjalan perintah if pertama jika angka yang diinput pertama lebih besar daripada angka yang diinput kedua dan ketiga, begitu juga dengan if kedua jika angka yang diinput ketiga lebih besar daripada angka yang diinput pertama dan kedua maka perintah yang akan dijalankan adalah perintah if kedua,dan jika angka yang diinput kedua lebih besar dari angka yang diinput pertama dan ketiga maka kedua perintah if diatas akan diabaikan dan dilanjutkan ke perintah yang ketiga.

d.      Latihan 2.4

-          Listing
#include<stdio.h>
int main()
{
            int a,b,c;
            printf("Masukkan nilai angka pertama : ");scanf("%d",&a);
            printf("Masukkan nilai angka kedua : ");scanf("%d",&b);
            printf("Masukkan nilai angka ketiga : ");scanf("%d",&c);
            if(a>c)
            {
                        if(a>b)
                        printf("Angka %d terbesar dari %d dan %d \n",a,b,c);
                        else
                        printf("Angka %d terbesar dari %d dan %d \n",b,c,a);
            }
            else if(c>a)
            {
                        if(c>b)
                        printf("Angka %d terbesar dari %d dan %d \n",c,b,a);
                        else
                        printf("Angka %d terbesar dari %d dan %d \n",b,c,a);
            }
            else
            { printf("Angka %d terbesar dari %d dan %d \n",b,c,a); }
            return 0;
}
-          Hasil Execute


-          Analisa
Progam ini akan menjalankan perintah if pertama jika a>c dan akan dijalankan ke kondisi a>b  jika a>b maka akan dijalankan perintah pertama dari if pertama dan jika a<b maka akan dijalankan perintah kedua dari if pertama, begitu juga if kedua jika c>a dan akan dijalankan ke kondisi c>b jika c>b maka akan dijalankan perintah pertama dari if kedua dan jika c<b maka akan dijalankan perintah kedua dari if kedua. Perintah yang ketiga apabila dihapuspun tidak apa-apa karena perintah tersebut sudah ada pada if pertama dan kedua.
e.       Latihan 2.5

-          Listing

#include<stdio.h>
int main()
{
            int a,b,c;
            printf("Masukkan sebuah angka antara 1 - 3 : ");scanf("%d",&a);
            switch(a)
            {
                        case 1: printf("Anda memasukkan angka satu");break;
                        case 2: printf("Anda memasukkan angka kedua");break;
                        case 3: printf("Anda memasukkan angka ketiga");break;
                        default : printf("Inputan salah, input angka 1 - 3");
            }
            return 0;
}
-          Analisa
Progam ini akan menjalankan pernyataan satu jika pernyataan satu benar dan program dihentikan, begitu juga dengan pernyataan dua dan pernyataan tiga, jika ketiga pernyataan salah maka akan dijalankan pernyataan default.

f.       Latihan 2.6

-          Listing
#include<stdio.h>
int main()
{
            char unit;
            int j;
            printf("Anda Unit Apa ? (A/B/C) : ");scanf("%c",&unit);
            switch(unit)
            {
                        case 'A': printf("Apa jenis kelamin anda (L/P) ?\n");
printf("Angka 1 untuk laki-laki dan angka 2 untuk perempuan : "); scanf("%d",&j);
                                                switch(j)
                                                {
case 1: printf("Anda dari Unit %c yang berjenis kelamin Laki-laki",unit);break;
case 2: printf("Anda dari Unit %c yang berjenis kelamin Perempuan",unit);break;
                                                            default : printf("Inputan jenis kelamin salah");
                                                }break;
                        case 'B': printf("Apa jenis kelamin anda (L/P) ?\n");
printf("Angka 1 untuk laki-laki dan angka 2 untuk perempuan : "); scanf("%d",&j);
                                                switch(j)
                                                {
case 1: printf("Anda dari Unit %c yang berjenis kelamin Laki-laki",unit);break;
case 2: printf("Anda dari Unit %c yang berjenis kelamin Perempuan",unit);break;
                                                            default : printf("Inputan jenis kelamin salah");
                                                }break;
                        case 'C': printf("Apa jenis kelamin anda (L/P) ?\n");
printf("Angka 1 untuk laki-laki dan angka 2 untuk perempuan : "); scanf("%d",&j);
                                                switch(j)
                                                {
case 1: printf("Anda dari Unit %c yang berjenis kelamin Laki-laki",unit);break;
case 2: printf("Anda dari Unit %c yang berjenis kelamin Perempuan",unit);break;
                                                            default : printf("Inputan jenis kelamin salah");
                                                }break;
                        default: printf("Inputan salah, input unit A/B/C");
            }
            return 0;
}


-          Hasil Execute
-          Analisa
Program ini akan menjalankam pernyataan A jika pernyataan A benar dan akan dilanjutkan ke ungkapan (J) dan jika pernyataan 1 benar maka pernyataan 1 yang dijalankan dan program dihentikan begitu juga dengan pernyataan 2, dan apabila kedua pernyatan tersebut salah maka akan dijalankan pernyataan default, begitu juga dengan pernyataan B dan C, dan apabila pernyataan A,B,dan C salah maka pernyataan default yang akan dijalankan.
D. Tugas
- Listing
#include<stdio.h>
int main()
{
            int ps;
            char u;
            printf("Anda mau membeli susu apa ? (NUTRILON/PROMIL/SIMILAC\n");
            printf("1 untuk NUTRILON 2 untuk PROMIL dan 3 untuk SIMILAC : ");scanf("%d",&ps);
            switch(ps)
            {
                        case 1: printf("Anda mau membeli susu dengan ukuran berapa ?\n");
printf("K untuk Ukuran 400gr dan B untuk ukuran 900gr : "); scanf("%s",&u);
                                                switch(u)
                                                {
case 'K' : printf("Anda Membeli Susu NUTRILON Ukuran 400gr dengan harga Rp.77.000,-");break;
case 'B' : printf("Anda Membeli Susu NUTRILON Ukuran 900gr dengan harga Rp.145.000,-");break;
                                                            default: printf("Inputan Ukuran susu salah");
                                                }break;
                        case 2: printf("Anda mau membeli susu dengan ukuran berapa ?\n");
printf("K untuk Ukuran 400gr dan B untuk ukuran 900gr : "); scanf("%s",&u);
                                                switch(u)
                                                {
case 'K' : printf("Anda Membeli Susu PROMIL Ukuran 400gr dengan harga Rp.45.000,-");break;
case 'B' : printf("Anda Membeli Susu PROMIL Ukuran 900gr dengan harga Rp.90.000,-");break;
                                                            default: printf("Inputan Ukuran susu salah");
                                                }break;
                        case 3: printf("Anda mau membeli susu dengan ukuran berapa ?\n");
printf("K untuk Ukuran 400gr dan B untuk ukuran 900gr : "); scanf("%s",&u);
                                                switch(u)
                                                {
case 'K' : printf("Anda Membeli Susu SIMILAC Ukuran 400gr dengan harga Rp.90.000,-");break;
case 'B' : printf("Anda Membeli Susu SIMILAC Ukuran 900gr dengan harga Rp.175.000,-");break;
                                                            default: printf("Inputan Ukuran susu salah");
                                                }break;
                        default : printf("Inputan salah, Input angka 1/2/3");
            }
            return 0;
}
-          Hasil Execute


-          Analisa
Program ini akan menjalankan pernyataan 1 jika pernyataan 1 benar  dan akan dilanjutkan ke ungkapan (u) dan jika pernyataan K benar maka pernyataan K yang dijalankan dan program dihentikan, begitu juga dengan pernyataan B jika pernyataan B benar maka Pernyataan B yang dijalankan dan program dihentikan . dan apabila kedua pernyataan tersebut salah maka pernyataan default yang akan dijalankan. Begitu juga dengan pernyataan 2 dan 3, dan apabila pernyataan 1,2,dan 3 salah maka pernyataan default yang dijalankan.


3.3  Modul III Pernyataan Kendali-Perulangan

a.      Latihan 3.1

-          Listing
#include<stdio.h>
int main()
{
            int i;
            for(i=1;i<=10;i++)
            {
                        printf("%d\t",i);
            }
            return 0;
}
-          Hasil Execute

-          Analisa
Program ini akan mengulang pernyataan nilai inisialisasinya sampai ke nilai kondisinya dengan perubahan nilai ditambah 1 dan program akan dieksekusi selama kondisinya terpenuhi.
b.      Latihan 3.2

-          Listing
#include<stdio.h>
int main()
{
            int i,j;
            for(i=1;i<=10;i++)
            {
                        for(j=1;j<=10;j++)
                        { printf("*"); }
                        printf("\n");
            }
            return 0;
}



-          Hasil Execute
-          Analisa
Program ini akan mengulang pernyataan nilai inisialisasinya sampai ke nilai kondisinya dengan perubahan nilai ditambah 1 dan program akan dieksekusi selama kondisinya terpenuhi,dan program akan  melanjutkan ke pernytaan selanjutnya yaitu nilai inisialisasinya akan diulang hingga sampai ke nilai kondisinya dengan perubahan nilai ditambah 1 dan program akan dieksekusi selama kondisinya terpenuhi dan program akan berhenti jika kondisinya sudah tidak terpenuhi.
c.       Latihan 3.3

-          Listing

#include<stdio.h>
int main()
{
            int i;
            i=1;
            while(i<=10)
            {
                        printf("%d\t",i);
                        i=i+1;
            }
            return 0;
}
-          Hasil Execute
-          Analisa
Program ini akan mengulang pernyataan nilai inisialisasinya hingga nilai kondisinya dengan perubahan nilai ditambah 1 dan pernyataan akan dijalankan apabila kondisinya bernilai benar dan jika kondisi sudah bernilai salah maka perulangan akan berhenti.

d.      Latihan 3.4
-          Listing
#include<stdio.h>
int main()
{
            int i;
            i=1;
            do
            {
                        printf("%d\t",i);
                        i=i+1;
            }
            while(i<=10);
            return 0;
}
-          Hasil Execute
-          Analisa
Program ini sama seperti latihan 3.3, pernyataan akan dilaksanakan selama kondisi masih dalam keadaan benar.

e.       Latihan 3.5

-          Listing
#include<stdio.h>
int main()
{
            int i,j;
            for(i=1;i<=10;i++)
            {
                        if(i==4) continue;
                        { printf("%d\t",i); }
                        if(i==8) break;
            }
            return 0;
}



-          Hasil Execute
-          Analisa
Program ini akan mengulang pernyataan nilai inisialisasinya hingga nilai kondisinya dengan perubahan nilai ditambah 1, ketika nilai i = 4 program akan melanjutkan nilai I sehingga nilai I menjadi 5 dan angka 4 tidak ditampilkan dan program akan berhenti ketika nilai I = 8.
f.       Latihan 3.6

-          Listing
#include<stdio.h>
int main()
{
            printf("Pernyataan Pertama\n");
            goto bawah;
            printf("Pernyataan Kedua\n");
            bawah : printf("Pernyataan Ketiga");
            return 0;
}
-          Hasil Execute
-          Analisa
Program  goto ini melakukan pelompatan pernyataan hingga  pernyataan goto menemui pernyataan yang berlebel dengan tanda ”:” dan pernyataan yang dilompati oleh goto akan dilewati atau tidak akan dijalankan.
H. Tugas1
- Listing
#include<stdio.h>
int main()
{
            int i;
            for(i=10;i>=1;i--)
            {
                        printf("%d ",i);
            }
}
- Hasil Execute

-          Analisa
Program ini akan mengulang pernyataan nilai inisialisasinya hingga nilai kondisinya dengan perubahan nilai dikurangkan 1 dan pernyataan akan dijalankan apabila kondisinya bernilai benar dan jika kondisi sudah bernilai salah maka perulangan akan berhenti.

H. Tugas2
- Listing
#include<stdio.h>
int main()
{
            int i,j;
            for(i=1;i<=4;i++)
            {
                        for(j=i;j<=4;j++)
                        { printf("*"); }
            printf("\n");
            }
            return 0;
}
-          Hasil Execute
-          Analisa
Program ini akan mengulang pernyataan nilai inisialisasinya sampai ke nilai kondisinya dengan perubahan nilai dikurangkan 1 dan program akan dieksekusi selama kondisinya terpenuhi,dan program akan  melanjutkan ke pernytaan selanjutnya yaitu nilai inisialisasinya akan diulang hingga sampai ke nilai kondisinya dengan perubahan nilai dikurangkan 1 dan program akan dieksekusi selama kondisinya terpenuhi dan program akan berhenti jika kondisinya sudah tidak terpenuhi.
H.    Tugas 3

-          Listing
#include <stdio.h>
int main()
{
            int a,b;
            a=3;
            b=8;
            while(b>=3)
            {
                        printf("%d\t",b);
                        b=b-1;
            }
}

-          Hasil Execute
-          Analisa
Bilangan awal=8 adalah bilangan yang sudah ditentukan sedangkan bilangan yang lain tampil karena bilangan awal yang dikurangi 1 setiap tahapnya hingga berhenti dinilai akhirnya=3 .

3.4        Modul IV Fungsi

_Deklarasi (Secara Langsung)_
-          Listing
int kali(int angka_1,int angka_2)
{
            return angka_1*angka_2;
}
int main()
{
            printf("hasil kali antara 2 dan 3 adalah",kali(2,3));
            return 0;
}





-          Hasil Execute
-          Analisa
Program ini hanya menampilkan hal yang telah diinput secara langsung.

_Deklarasi (Secara Tak Langsung)_
-          Listing

1.                  Array 1 Dimensi
-          Listing
int main()
{
            int i,bil_bulat[5];
            float bil_real[5];
            char nama[20];
            /* menginput array bil_bulat,bil_ganjil */
            for (i=0;i,i<5;i++);
            {
                        printf("masukkan bilangan bulat ke %d:",i+1);
                        scanf("%d",&bil_bulat[i]);
                        printf("masukkan bilangan pecahan %d:",i+1);
                        scanf("%f",&bil_real[i]);
            }
            /* menginput array nama */
            printf("masukkan nama anda :");scanf("%s",&nama);
            /*menampilkan isi array bil_bulat,bil_ganjil*/
            for(i=0;i<5;i++)
            {
                        printf("bilangan bulat ke %d: %d\n",i+1,bil_bulat[i]);
                        printf("bilangan bulat ke %d: %f\n",i+1,bil_real[i]);
            }
            /* menampilkan array nama */
            printf("nama anda : %s",nama);
            return 0;
}
-          Hasil Execute

-          Analisa
Program ini meminta inputan untuk bilangan bulat dan bilangan pecahan untuk urutan ke-6 dan meminta inputan nama dan memberi outputan berupa bilangan bulat dan bilangan pecahan urutan ke-1 sampai ke-5 serta mengoutputkan nama yang telah di input oleh user. Ini merupakan contoh array 1 dimensi.
2.      Array 2 Dimensi
-          Listing
int main()
{
int i,j;
int matrikA[3][3],matrikB[3][3],matrikl[3][3];
            /* menginput elemen dari matriks A */
            for(i=0;i<3;i++)
            {
                        for(j=0;j<3;j++)
                        {
                                    printf("masukkan elemen A[%d][%d]:",i+1,j+1);
                                    scanf("%d",&matrikA[i][j]);
                        }
            }
            /* menginput elemen dari matriks B */
            for(i=0;i<3;i++)
            {
                        for(j=0;j<3;j++)
                        {
                                    printf("masukkan elemen B[%d][%d]:",i+1,j+1);
                                    scanf("%d",&matrikB[i][j]);
                        }
            }
            /* menampilkan elemen dari matriks A */
            printf("\n elemen dari matriks A adalah:\n");
            for(i=0;i<3;i++)
            {
                        for(j=0;j<3;j++)
                        {
                                    printf("%d\t",matrikA[i][j]);
                        }
                        printf("\n");
            }
            /* menampilkan elemen dari matriks B*/
            printf("\n elemen dari matriks B adalah:\n");
            for(i=0;i<3;i++)
            {
                        for(j=0;j<3;j++)
                        {
                                    printf("%d\t",matrikB[i][j]);
                        }
                        printf("\n");
            }
            /* opersi penjumlahan 2 matriks */
            for(i=0;i<3;i++)
            {
                        for(j=0;j<3;j++)
                        {
                                    ("matrikHasil [i][j] = matrikA[i][j] + matrikB[i][j]");
                        }
            }
            /* menampilkan elemen dari matriks hasil penjumlahan */
            printf("\n matriks hasil penjumlahan adalah:\n");
            for(i=0;i<3;i++)
            {
                        for(j=0;j<3;j++)
                        {
                                    printf("%d\t",("matrikHasil[i][j]"));
                        }
                        printf("\n");
            }
            return 0;
}
-          Hasil Execute
-          Analisa
Program ini meminta user untuk menginput bilangan-bilangan integer ke dalam katagori matrik elemen A [1-3][1-3], B[1-3][1-3] dan C[1-3][1-3] lalu program ini memberikan output untuk masing-masing elemen tersebut sesuai dengan matriknya dan urutan elemennya.







BAB IV
PENUTUP

4.1  Kesimpulan

Algoritma dan Pemograman I merupakan ilmu yang sangat esensial dalam membuat program. Pada mata kuliah praktikum algoritma dan pemograman I ini, bahasa pemograman yang digunakan adalah bahasa C.
Pada mata kuliah ini kami di tuntut untuk dapat menjalankan program yang listingnya sudah diketahui dan pada beberapa tugas, kami juga dituntut untuk dapat membuat listing sendiri sampai hasil executenya sesuai dengan soal dan dapat menganalisa program yang sudah kami selesaikan.
Dan inilah Laporan hasil praktikum algoritma dan pemograman I yang telah saya selesaikan menurut kemampuan saya.

4.2  Saran
Saran saya adalah dengan kurangnya sarana praktikum yang memadai seperti kurangnya komputer, kurangnya tenaga pengajar saat praktikum membuat proses belajar-mengajar tidak berjalan efektif dan efesien. Ini sangat berpengaruh pada potensi yang akan di terima oleh mahasiswa/i Teknik Informatika Malikussaleh  ke depannya. Oleh karena itu, semoga pelaksanaan praktikum kedepannya akan lebih efektif dan efesien agar Teknik Informatika Malikussaleh memiliki mahasisw/i yang memiliki potensi tinggi. Semoga saran yang saya sampaikan bisa bermanfaat.

Daftar Pustaka


Rizal. 2010. Modul Praktikum Algoritma dan Pemograman 1 Bahasa C. Lhokseumawe : Universitas Malikussaleh

Tidak ada komentar:

Posting Komentar