Laporan Praktikum Algoritma Dan Pemrograman I

Embed Size (px)

Citation preview

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    1/43

    1

    BAB I

    PENDAHULUAN

    1.1. Latar BelakangDalam 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 untukk 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.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    2/43

    2

    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 Praktikum1.Untuk mengenal dan memahami fungsi dasar dalam Bahasa C.2.Agar bisa menggunakan fungsi dasar Bahasa C.3.Untuk bisa mengaplikasikan Bahasa C dalam pembuatan berbagai

    program.

    1.3. Manfaat Praktikum1.Menambah wawasan mengenai pemrograman bahasa C.2.Memberikan pengetahuan mengenai struktur dan sintaks bahasa C.3.Memberikan pengetahuan mengenai bagaimana mengaplikasikan bahasa Cdalam pembuatan berbagai program.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    3/43

    3

    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 CBahasa 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 CBahasa C memiliki beberapa elemen dasar seperti:

    1. KarakterMengacu dari system standar kode internasional ANSI karakter yang

    dikenal didalam bahasa C adalah karakter abjad/huruf, angka, dan simbol-simbol

    khusus.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    4/43

    4

    2. KeywordKeyword adalah suatu kata yang memiliki makna dan fungsi tertentu,

    karena itu ia disebut juga reserved word. Hampir semua keyword ditulis dalam

    huruf kecil.

    3. IdentifierIdentifier dapat dikatakan sebagai suatu tempat untuk menyimpan nilai.

    Identifier dapat diberi nama unik dan bisa memiliki tipe data.Ia dibagi menjadi

    dua:

    a. Konstanta: nilainya tetap selama programberjalan(dieksekusi),cara untuk mengubahnya hanya melalui source

    code saja.

    b. Variabel: nilainya dapat berubah atau diubah selama programberjalan(dieksekusi).Yang mengubahnya hanyalah user atau proses.

    4. Tipe dataMerupakan 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. PunctuatorPunctuator adalah simbol-simbol yang berkenaan sebagai tanda baca pada

    struktur penulisan bahasa C.

    2.3. Macam-macam PernyataanAda macam-macam pernyataan atau statement yang digunakan dalam

    bahasa C. Pernyataan pernyataan itu diuraikan sebagai berikut:

    2.3.1. Pernyataan Kosong(Null Statement)

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    5/43

    5

    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.

    2.3.2. Pernyataan Ungkapan(Expression Statement)Sementara pernyataan yang ini dibentuk dari suatu ungkapan dan diakhiri

    dengan titik koma.

    2.3.3. Pernyataan kendali(Control Statement)Statement ini digunakan untuk mengendalikan proses dari program, yaitu:

    Penyeleksian kondisi(percabangan):

    a) If, case dan switchFungsi if dapat dibagi menjadi 3 yaitu:

    -If tunggal:

    If(kondisi)

    {

    Perintah benar;

    }

    -If-else:

    If(kondisi)

    {

    Perintah benar;

    }

    -Nested if:

    If(kondisi 1)

    {

    If(kondisi 2)

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    6/43

    6

    {

    Perintah benar kondisi 2;

    }

    Else

    {

    Perintah salah kondisi 2;}

    }

    Else

    Perintah salah kondisi 1;

    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;

    }

    b) .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)

    {

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    7/43

    7

    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)

    {

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    8/43

    8

    If(batas) continue;

    { pernyataan;}

    If(batas) break;

    }

    -goto:

    Bentuk umumnya adalah:

    goto bawah;

    Pernyataan1;

    Pernyataan2;

    bawah: pernyataan3;

    2.3.4. Pernyataan Jamak(Compound /Block Statement)Pernyataan atau statement yang terdiri dari gabungan beberapa statement

    tunggalyang ditulis pada posisi diantara tanda kurung kurawal({dan})

    2.4. FungsiFungsi 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.4.1. Deklarasi

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    9/43

    9

    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.

    2.4.2. ParameterParameter bisa dilewatkan kedalam sebuah fungsi dengan dua cara sbb:

    1. Call by ValueAdalah suatu cara melewatkan sebuah nilai pada parameter.

    2. Call by ReferenceAdalah suatu cara melewatkan alamat sebuah variable pada sebuah

    parameter. Untuk jenis parameter ini, perlu ditambahkan operator pointer

    yaitu & atau * di depannya.

    3. RekursifRekursif adalah pemanggilan oleh dirinya sendiri. Oleh karena fungsi bisa

    menghasilkan nilai balik, maka fungsi juga bisa memanggil dirinya

    sendiri.

    2.5. ArrayArray adalah suatu bentuk struktur data yang menampung satu data atau

    lebih dari satu data yang sejenis. setiap elemen atau anggota array dapat dikenali

    atau diakses melalui suatu indeks. array dibagi tiga berdasarkan jumlah

    dimensinya. array berdimensi satu disebut vektor, yang berdimensi dua disebut

    matriks serta yang berdimensi lebih dari dua disebut tensor.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    10/43

    10

    BAB III

    HASIL PRAKTIKUM

    3.1. Modul I3.1.1. Latihan

    1. Listing#include

    #include

    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);

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    11/43

    11

    printf("Masukkan Nama Anda: ");scanf("%s",&nama);

    printf("\n Tampilkan kembali yang anda input tadi\n");

    printf("integer:%d\n Long Integer: %li\n Float:%f \n

    Long Float: %lf\n Karakter: %c\n String:

    %s",c,x,b,a,F,nama);

    return 0;

    }

    Hasil Eksekusi

    Gambar 1.1 Program yang menghasilkan input sesuai tipe

    data.

    2. Listing#include

    int main ()

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    12/43

    12

    { int angka1,angka2,total;

    printf("Masukkan angka pertama: ");

    scanf("%i",&angka1);

    printf("Masukkan angka kedua: ");

    scanf("%i",&angka2);

    total=angka1+angka2;

    printf("Hasil penjumlahan adalah %i",total);

    return 0;

    }

    Hasil Eksekusi

    Gambar 1.2 Program yang menyatakan penjumlahan.

    3. Listing#include

    #include

    #include

    using namespace std;

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    13/43

    13

    int main ()

    { char nim [25];

    char nama [25];

    char alamat [25];

    printf("\t\tLaboraturium Pemrograman\t\t\n");

    printf("\t\tTeknik Informatika Unimal\t\t\n");

    printf("================================

    =======================\n");

    printf("NIM\t: ");scanf("%s",&nim);

    printf("\n");

    printf("NAMA\t: ");scanf("%s",&nama);

    printf("\n");

    printf("ALAMAT\t: ");scanf("%s",&alamat);

    printf("\n");

    printf("================================

    =======================\n");

    printf("NIM\t\tNAMA\t\tALAMAT");

    printf("\n");

    printf("================================

    =======================\n");

    printf("%s",nim);

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    14/43

    14

    printf(" ");

    printf("%s",nama);

    printf(" ");

    printf("%s", alamat);

    printf(" ");

    printf("\n");

    printf("================================

    =======================\n");

    return EXIT_SUCCESS;

    }

    Hasil Eksekusi

    Gambar 1.3 Program yang memberikan output data

    pribadi.

    3.2. Modul II3.2.1. Latihan

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    15/43

    15

    1. Listing#include

    #include

    int main ()

    {

    int a,c=10;

    printf("Masukkan sebuah nilai: ");scanf("%d",&a);

    if(a

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    16/43

    16

    #include

    #include

    int main ()

    {

    int a,c;

    printf("Masukkan nilai angka pertama:

    ");scanf("%d",&a);

    printf("Masukkan nilai angka kedua: ");scanf("%d",&c);

    if(a

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    17/43

    17

    Gambar 2.2.2 Hasil eksekusi latihan 2 apabila diberikan

    input angka pertama 5 dan angka kedua 4.

    3. Listing#include

    #include

    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 Eksekusi

    Gambar 2.3 Program pembanding tiga angka.

    4. Listing#include

    #include

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    18/43

    18

    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);

    }

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    19/43

    19

    return 0;

    }

    Hasil Eksekusi

    Gambar 2.4 Program yang membandingkan 3 angka.

    5. Listing#include

    #include

    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

    dua");break;

    case 3:printf("Anda memasukkan angka

    tiga");break;

    default: printf("Inputan salah, Input angka 1-3");

    }

    return 0;

    }

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    20/43

    20

    Hasil Eksekusi

    Gambar 2.5.1 Hasil Eksekusi latihan 5 bila angka yang

    diinput 1-3.

    Gambar 2.5.2 Hasil Eksekusi Latihan 5 bila angka yang

    diinput lebih dari 3, dalam hal ini angka 5.

    6. Listing#include

    #include

    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);

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    21/43

    21

    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;

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    22/43

    22

    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 Eksekusi

    Gambar 2.6 Program yang memberikan output data sesuai

    yang dimasukkan.

    3.2.2. TugasListing

    #include

    #include

    int main(){

    int ukuran,nama;

    printf("Masukkan no produk(1.Nutrilon/2.Promil/3.Similac:

    ");scanf("%d",&nama);

    switch(nama)

    {

    case 1:printf("Masukkan ukuran: ");scanf("%d",&ukuran);

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    23/43

    23

    switch(ukuran)

    { case 400:printf("Harga produk adalah Rp 77.000,-");break;

    case 900:printf("Harga produk adalah Rp 145.000,-");break;

    default:printf("Ukuran yang anda masukkan salah ");

    }break;

    case 2:printf("Masukkan ukuran: ");scanf("%d",&ukuran);

    switch(ukuran)

    { case 400:printf("Harga produk adalah Rp 45.000,-");break;

    case 900:printf("Harga produk adalah Rp 90.000,-");break;

    default:printf("Ukuran yang anda masukkan salah ");

    }break;

    case 3:printf("Masukkan ukuran: ");scanf("%d",&ukuran);

    switch(ukuran)

    { case 400:printf("Harga produk adalah Rp 90.000,-");break;

    case 900:printf("Harga produk adalah Rp 175.000,-");break;

    default:printf("Ukuran yang anda masukkan salah ");

    }break;

    default:printf("No produk yang anda masukkan salah\n");

    }

    return 0;

    }

    Hasil Eksekusi

    Gambar 2.7 Program mengenai harga produk susu.

    3.3. Modul III3.3.1. Latihan

    1. Listing

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    24/43

    24

    #include

    int main()

    {

    int i;

    for(i=1;i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    25/43

    25

    }

    return 0;

    }

    Hasil Eksekusi

    Gambar 3.2 Program perulangan for yang berbentuk

    nested..

    3. Listing#include

    #include

    int main()

    {

    int i;

    i=1;

    while(i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    26/43

    26

    Gambar 3.3 Program perulangan menggunakan while.

    4. Listing#include

    #include

    int main()

    {

    int i;

    do

    {

    printf("%d\t",i);

    i=i+1;

    }while(i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    27/43

    27

    {

    if(i==4) continue;

    {

    printf("%d\t",i);

    }

    if(i==9) break;

    }

    return 0;

    }

    Hasil Eksekusi

    Gambar 3.5 Program perulangan menggunakan break.

    6. Listing#include

    #include

    int main()

    {

    printf("Pernyataan Pertama \n");

    goto bawah;

    printf("Pernyataan Kedua\n");

    bawah:printf("Pernyataan Ketiga");

    return 0;

    }

    Hasil Eksekusi

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    28/43

    28

    Gambar 3.6 Program perulangan menggunakan goto.

    Tugas

    1. Listing#include

    #include

    int main()

    {

    int i;

    for(i=10;i>=1;i--)

    {

    printf(" ");printf("%d",i);

    }

    return 0;

    }

    Hasil Eksekusi

    Gambar 3.7 Program perulangan angka secara mundur.

    2. Listing#include

    #include

    #include

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    29/43

    29

    #define maxs 7

    int main()

    {

    int a,b;

    for (a=0;a

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    30/43

    30

    int j = 8;

    for(i=5;i>0;i--)

    {

    h=j-i;

    printf("%i\t", h);

    printf("\n");

    }

    return 0;

    }

    Hasil Eksekusi

    Gambar 3.9 Program perulangan angka secara menurun.

    3.4. Modul IV3.4.1. Latihan

    1. Listing#include

    #include

    int kali(int angka_1, int angka_2)

    {

    return angka_1 * angka_2;

    }

    int main()

    {

    printf("Hasil kali angka 2 dan 3 adalah",kali(2,3));

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    31/43

    31

    return 0;

    }

    Hasil Eksekusi

    Gambar 4.1perkalian menggunakan fungsi

    2. Listing#include

    #include

    int kali(int angka_1, int angka_2);

    int jumlah(int*angka_1,int*angka_2);

    int main()

    {

    int a,b;

    a=10;b=10;

    printf("Hasil kali antara a dan b adalah

    %d\n",kali(a,b));printf("Hasil jumlah antara a dan b adalah

    %d",jumlah(&a,&b));

    return 0;

    }

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    32/43

    32

    int kali(int angka_1, int angka_2) //implementasi prototype

    fungsi

    {

    angka_1=angka_1 * angka_2;

    return angka_1;

    }

    int jumlah(int *angka_1, int *angka_2) //implementasi

    prototype fungsi

    {

    *angka_1=*angka_1+*angka_2;

    return *angka_1;

    }

    Hasil Eksekusi

    Gambar 4.2 Fungsi call by reference

    3. Listing#include

    #include

    int faktorial(int); //deklarasi fungsi

    int main()

    {

    printf("%d",faktorial(5));

    return 0;

    }

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    33/43

    33

    int faktorial(int angka_1) //implementasi prototype fungsi

    {

    if(angka_1==0)

    return 1;

    else

    return angka_1*faktorial(angka_1-

    1);

    }

    Hasil Eksekusi

    Gambar 4.3 Fungsi rekursif

    3.4.2. Tugas1. Listing#include

    #include

    int segitiga(int angka_1,int angka_2);

    int main()

    {

    int a, b;

    a=8;b=5;

    printf("Luas segitiga adalah%d\n",segitiga(a,b));

    return 0;

    }

    int segitiga(int angka_1, int angka_2)

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    34/43

    34

    {

    angka_1=0.5*angka_1*angka_2;

    return angka_1;

    }

    Hasil Eksekusi

    Gambar 4.4 Fungsi menghitung luas bangun segitiga

    3.5.Modul V3.5.1. Latihan

    1. Listing#include

    #include

    int main()

    {

    int i,bil_bulat[5];

    float bil_real[5];

    char nama[20];

    for(i=0;i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    35/43

    35

    printf("Masukkan nama anda :");

    scanf("%s",&nama);

    for(i=0;i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    36/43

    36

    #include

    int main()

    {

    int i,j;

    int matrikA[3][3],matrikB[3][3], matrikhasil[3][3];

    for (i=0;i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    37/43

    37

    }

    printf("\n");

    }

    printf("\n Elemen dari matriks B adalah:\n");

    for (i=0;i

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    38/43

    38

    return 0;

    }

    Hasil Eksekusi

    Gambar 5.2 Array Dua Dimensi

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    39/43

    39

    BAB IV

    ANALISA PROGRAMDari hasil praktikum diatas dapat dihasilkan analisa yang menunjukkan

    bahwa dalam menuliskansource code ada hal-hal essensial yang harus dipenuhi

    agar program dapat berjalan , seperti struktur mana yang harus ada dan tata cara

    penulisan struktur tersebut, yaitu:

    a. Preprosessor Directive adalah bagian yang berisi pengikutsertaan file atauberkas-berkas fungsi maupun pendefinisian konstanta atau fungsi makrotertentu. Header file ini berisi perintah tertentu yang akan dipakai dalam

    mengoperasikan program misalnya printf dan scanf yang terdapat dalam

    , jadi gunakanlah header file sesuai dengan perintah yang ingin

    digunakan.

    b. Suatu program C minimal harus memiliki function main(), tanpa function itumaka program C tidak dapat dieksekusi tapi bisa dikompilasi. Fungsi main ini

    umumnya ditulis dalam bentukint main ( ) yang berarti bahwa nilai kembali

    dari fungsi adalah integer, atau void main ( ) yang berarti fungsi tersebut tidak

    memiliki nilai kembali

    c. Selanjutnya setiap menulis bahasa C diperlukan statement. Statement adalahsuatu baris instruksi/perintah tertentu. Statement menyebabkan suatu tindakan

    akan dilakukan oleh komputer. Perlu diperhatikan bahwa pemberian tanda

    kurung kurawal di awal dan akhirstatement. Jika tidak compiler tidak akan

    membaca statement tersebut dan program tidak bisa dieksekusi karena

    dianggap error.

    d. Deklarasi variabel menyebabkan komputer menyediakan tempat yang diberinama (identifier). Kita bebas memberi nama identifier asal tidak menyamai

    reserved keyword.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    40/43

    40

    e. Untuk mencetak teks ke layar computer dibutuhkan perintah printf. lalu untukmembaca hasil inputan dari perintah yang diberikan teks tersebut, dibutuhkan

    scan, lalu hasil inputan itu disimpan dalam variable tertentu. %i untuk

    integer, %c untuk char dan string.

    f. Dalam bahasa C tidak dikenal string, sehingga dibutuhkan penggunaan arrayagar bisa menggunakan string. Contoh dapat dilihat pada latihan 3 modul I

    dan hasil eksekusinya dapat dilihat seperti gambar 1.3.

    g. Dalam setiap program tentunya diperlukan operasi entah itu aritmatika danpenyamaan variabel, dsb. Penulisan hasil dari operasi biasanya dituliskan di

    sebelah kiri dan operasinya disebelah kanan.

    h. Berikan tanda kurung saat menuliskan statement dalam fungsi if, namunjangan berikan tanda semicolon(;). Jika tidak, statement itu tidak akan dibaca

    sebagai fungsi if. Fungsi if terdapat tiga jenis yaitu if biasa, if-else dan dan

    nested if. Pada if, statement hanya dijalankan apabila ia bernilai benar.

    Sementara pada nested if jika kondisi pada salah satu statement ia juga akan

    membaca statement yang lain, dan begitu seterusnya sampai statement

    terakhir.

    i. Fungsi switch (case) hanya membaca variabel integer, bila ingin agar switchmembaca char maka variabel char pada fungsi case harus diberi tanda petik

    satu () dan berikan perintah break di tiap akhir statement.

    j. Untuk membatasi perulangan dalam fungsi loop dibutuhkan nilai awal,kondisi dan yang paling penting: pencacah. Setiap kondisi harus memiliki

    akhir agar tidak terjadi loop tak berhingga.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    41/43

    41

    k. Selain fungsi main() dapat ditambahkan fungsi lain Jika fungsi akandiletakkan disembarang tempat dari fungsi main(), maka fungsi tersebut harus

    dideklarasikan terlebih dahulu sebelum fungsi main( ).

    l. Array dapat berbentuk satu dimensi dan dua dimensi, contohnya dapat dilihatdalam latihan di modul V. Tanda kurung siku pada array ada dua. Yang

    satudigunakan sebagai ukuran array, sementara yang satu lagi sebagai tempat

    penyimpanan array.

    m. Untuk mengakhiri program, pertama perhatikan fungsi main yang digunakan.Bila ia berbentuk void, Anda dapat menulis perintah getch ( ); atau

    membiarkannya kosong. Bila int main ( ), maka akhiri program dengan

    menuliskan nilai kembalinya dengan format return 0; atau return 1; untuk

    perulangan.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    42/43

    42

    BAB V

    PENUTUP5.1.KesimpulanBahasa C memang termasuk sebagai bahasa popular karena kemudahan

    dalam eksekusi dan menyelesaikan masalah dalam algoritma dengan bentuk

    programnya yang berupa modular. Jadi, setiap algoritma yang dibuat lebih mudah

    diaplikasikan kedalam bahasa ini. Selain itu sintaksnya juga tidak sulit di baca.

    Namun disamping semua kelebihannya itu, terdapat juga kelemahan-kelemahan seperti misalnya, bahasa C terkesan boros bila dibandingkan dengan

    bahasa versi barunya yaitu C++, selain itu bahasa C susah dipakai dalam

    pembuatan program yang besar, belum mendukung string, serta penggunaan

    pointer yang lumayan yang cukup susah bagi pemula.

    Dalam mempelajari bahasa C ini kami menemui banyak kesulitan, namun

    justru itulah yang menantang kami, dan membuat kami jadi semakin ingin

    mempelajari bahasa pemrograman yang lain.

  • 7/22/2019 Laporan Praktikum Algoritma Dan Pemrograman I

    43/43

    43

    DAFTAR PUSTAKA

    Rizal,S.Si.,M.IT.2010.Modul Praktikum Algoritma dan Pemrograman I.Drs.Suarga,M.Sc.,M.Math.,Ph.D.2006.Algoritma Pemrograman.Yogyakarta :

    Andi.

    Soulie,Juan.2007.C++ Language Tutorial.

    http://dickynd.wordpress.com/tag/tutorial-c/

    http://dickynd.wordpress.com/tag/tutorial-c/http://dickynd.wordpress.com/tag/tutorial-c/http://dickynd.wordpress.com/tag/tutorial-c/