Saturday, April 27, 2013

Program Faktorial Menggunakan Fungsi Rekursif


Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C

NIM/ No. Reg.
:
49013016
Nama
:
HASRUL
email
:
arul_okey59@yahoo.co.id
Laporan
:
Praktikum  Tugas Modul VII dan VIII(Tujuh dan Delapan)

Assalamualaikum .....
Pada kesempatan kali ini saya akan membuat laporan, bagaimana cara menghitung bilangan Faktorial dengan menggunakan Fungsi Rekursif.
Sebelum kita masuk dalam pembahasan materi kita kali ini, kita harus tahu dulu apa itu fungsi Rekursif. Rekursif merupakan sebuah fungsi yang memanggil dirinya sendiri. fungsi ini akan sangat berguna untuk memecahkan kasus permasalahan yang lebih sederhana dari permasalahan yang serupa dan selusi dari bentuk permasalahan yang lebih sederhana tadi diperoleh dari bentuk permasalahan yang lebih sederhana lagi namun serupa, demikian seterusnya.
Mari kita simak, bagaimana melakukan perhitungan dengan menggunakan fungsi Rekursif. sebelumnya silahkan ikutin listing program dibawah ini :
Listing Program :
==================================================================
#include <stdio.h>
#include <stdlib.h>
int main(void){
     int m;
     int faktorial (int k);
     printf("Masukan sembarang bilangan positif>");
     scanf ("%d",&m);
     printf("\nMelalui Perhitungan rekursif, %d! = %d\n",m,faktorial(m));
     system("pause");
     return 0;
}
int faktorial (int k){
     if (k==0)
           return 1;
     else
           return k*faktorial(k-1);
}
==================================================================
Deskripsi penjelasan dari listing program diatas adalah sebagai berikut :
Listing program diatas merupakan contoh program yang menggunakan fungsi Rekursif Di dalam mencari nilai faktorial dari angka yang telah dimasukkan. Rekursif adalah merupakan suatu fungsi yang memanggil dirinya sendiri.
Bentuk perhitungan fungsi rekursif adalah sebagai berikut :
Misalkan user melakukan inputan angka 4 sebagai bilangan positif, maka perhitungan menjadi 4*3*2*1
int m; merupakan inisialisasi variabel m dengan tipe data integer sebagai proses perhitungan.
int faktorial(int k); merupakan inisialisasi variabel dengan nama faktorial yang dimana digunakan untuk dilakukan perhitungan dan variabel yang akan dijadikan variabel dalam melakukan perhitungan secara rekursif.
printf("Masukan sembarang bilangan positif>"); adalah perintah awal yang digunakan untuk melakukan penginputan bilangan positif yang kemudian akan dilakukan proses dengan fungsi rekursif. Kemudian perintah dibawah ini
printf("\nMelalui Perhitungan rekursif, %d!-%d\n",m,faktorial(m)); adalah perintah yang akan mengeksekusi fungsi angka faktorial, dimana angka faktorial terus berulang selama nilai variabel k belum bernilai 0, maka akan mengembalikan nilai dengan mengoperasikan perintah selanjutnya dan namun jika sudah benar (0) maka akan mengembalikan nilai  k*faktorial (k-1);
Bentuk perhitungan seperti pada tabel dibawah ini :


Nilai K

Proses Return

Proses Nilai Rekorsif

Inputan K = 4

4*faktorial (4-1)

4*?

K = (4-1) = 3

3*faktorial (3-1)

4*3?

K = (3-1) = 2

2*faktorial (2-1)

4*3*2?

K = (2-1) = 1

1*faktorial (1-1)

4*3*2*1*?

K = (1-1) = 0

1

4*3*2*1*1

Hasil

24

Dan apabila program dijalankan, maka akan menghasilkan output program seperti gambar dibawah ini :





Selain listing program diatas, saya lengkapi dengan video tutorial cara perhitungan Faktorial dengan fungsi Rekursif.
 



Sekian laporan pembuatan program menghitung nilai factorial menggunakan fungsi rekursif dan Selamat mencoba. dan silahkan kunjungi link videonya http://youtu.be/M9CX2uGpeJk

Thursday, April 25, 2013

LAPORAN PORTOFOLIO PROGRAM PELANGI DENGAN ARRAY 2 DIMENSI

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C

NIM/ No. Reg.
:
49013016
Nama
:
HASRUL
email
:
arul_okey59@yahoo.co.id
Laporan
:
Praktikum  Tugas Modul VI (enam)


Listing Program
=================================================================
#include<stdio.h>
#include<stdlib.h>

int main(void) {

  int p;
  char pelangi [7][7] ={"merah","jingga","kuning","hijau","biru","nila","ungu"};
  for (p=0;p<7;p++) {
      printf ("%s\n",pelangi[p]);
   }

   system("pause");
   return 0;
}

Apabila listing program diatas dijalankan. maka kurang lebihnya akan seperti tampilan gambar dibawah ini :



Deskripsi Program :
================================================================
Script diatas adalah merupakan array dengan 2 dimensi, yang dimana variabel pelangi di inisialisasi sebagai char/string dengan [7] sebagai nilai besaran urutan data array dan [10]sebagai besaran nilai karakter atau huruf pada data array.
Kemudian menggunakan for untuk mencetak warna pelangi yang dimana nilai p = 0 dan p lebih kecil dengan nilai [7] dan kemudian nilai p ditambah dengan 1, jadi pada hasil output program akan mencetak warna yang ada dalam array tersebut dengan script
printf ("%s\n",pelangi[p]);

Untuk lebih jelasnya, saya memasukan video pembuatan program warna pelangi dengan array 2 dimensi beserta dengan penjelasannya. 



Selain video, silahkan kunjungi link video tutorialnya  http://youtu.be/waUshvRyBys

Saturday, April 20, 2013

Laporan Tugas Modul V Nomor 5


Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C
NIM/ No. Reg.
:
49013016
Nama
:
HASRUL
Email
:
arul_okey59@yahoo.co.id
Laporan
:
Praktikum  Tugas Modul 5.

Assss......
Pada pertemuan kali ini, saya akan membuat program Elemen Array A ke B, yang dimana nilai elemen A akan dicetak kebalikan pada nilai elemen array B. silahkan ikutin langkah-langkah dibawah ini:

Listing Program.
===========================================================
#include <stdio.h> 
#include <conio.h> 

int main (void)
{
       int nilaiA [10], nilaiB [10], i, jum,count=0;
       printf("========= PROGRAM ELEMEN ARRAY A KE B =========\n");
       printf("Masukkan Angka Dengan Maksimal 10 Angka, lalu tekan ENTER  : ");
       scanf("%d",&jum);
       for(i=0;i<jum;i++)
       {
              printf("Masukkan data ke- %d : ",(i+1));
              scanf("%d",&nilaiA[i]);
       }
       printf("Menyalin Elemen A ke B \n");
       printf("Nilai B = {");
       for(i=(jum-1);i>=0;i--)
       {
              nilaiB[count] = nilaiA[i];
              printf(" %d ",
              nilaiB[count]);
              count++;
       }
       printf("}\n");
       getch();
       return 0;
}
==========================================================
Deskripsi Program : 
Listing program diatas adalah untuk merubah posisi dari nilai A ke Nilai B, Misalnya kita inputkan nilai A = 1,2,3,4,5 maka hasilnya adalah B = 5,4,3,2,1. Disini saya menggunakan perulangan for untuk menghitung nilai kebalikan nilai array A menjadi nilai Array Bdan  hasilnya seperti gambar dibawah ini :


Program diatas adalah merupakan program untuk mengubah nilai array A menjadi nilai Array B, untuk lebih jelasnya silahkan simak video tutorialnya dibawah ini:




Untuk mendownload program di atas, silahkan kunjungi link ini  http://youtu.be/VAa01yhI2LA 
sampai jumpa pada tutorial algoritma dan struktur data dengan C selanjutnya. silahkan mencoba.

Thursday, April 18, 2013

Program Segitiga Piramida



Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C

NIM/ No. Reg.
:
49013016
Nama
:
HASRUL
email
:
arul_okey59@yahoo.co.id
Laporan
:
Praktikum  Tugas Modul 4

Asss.
Pada kali ini saya akan melaporkan tugas pemrograman C yang telah saya buat dengan judul program segitiga piramida.

Program kali ini yang saya buat adalah program segitiga piramida yang dimana nilai inputan di input oleh user dengan nilai inputan adalah 5.

berikut listing program segitiga piramida
==================================================



#include <stdio.h>
#include <stdlib.h>

main(){
int x, y, z, bil;
printf("\nPROGRAM MENCETAK PIRAMIDA BILANGAN\n");
printf("------------------------------------\n");
printf("\n");
printf("Masukkan Nilai Bilangan : ");
scanf("%d",&bil);
       for(x=1;x<=bil;x++)
       {
              for(z=bil;z>=x;z--)
              printf(" ");
                     for(z=x;z<2*x;z++)
                     {
                           y = z % 10;
                           printf("%d",y);
                     }
                           for(z=2*(x-1);z>=x;z--)
                           {
                                  y = z % 10;
                                  printf("%d", y);
                                  }
                           printf ("\n");
       }
      
       system("pause");
       return 0;
}

===============================================

Diskripsi listing program :


Listing program diatas adalah untuk mencetak bilangan segitiga yang membentuk piramida. Untuk nilai bilangannya tergantung yang di inputkan oleh user.
Disini saya mengunakan for untuk menghasilkan bilangan segitiga piramida tersebut. Yang mana saya mendeklerasikan variabel int x, y, z, bil;

Untuk menyimpan nilai inputan dari user, sehingga program akan menjalankan fungsi for pada statement/komentar dibawah fungsi utama adalah perintah:
printf("Masukkan Nilai Bilangan : ");
scanf("%d",&bil);

for(x=1;x<=bil;x++) adalah perintah untuk mencetak nilai x = 1 dan nilai x lebih kecil samadengan nilai bil yang akan diinputkan oleh user, kemudian x++ adalah nilai x akan ditambahakan dengan 1, sehingga kalau user menginputkan nilai 5 maka hasilnya akan seperti ini =  12345, yang dimana nilai index terhitung dari nol (0) dan entery dihitung mulai dari 1.

for(z=bil;z>=x;z--)
printf(" ");

perintah di atas adalah perintah untuk memberikan jarak loncatan spasi sehingga pada output nanti, pada awal program, program akan melakukan spasi sesuai dengan nilai inputan user, yang kemudian akan dikurangi satu persatu sampai habis proses entery atau indexnya dan nilai spasi ini dihitung dengan variabel z. Nilai z sama dengan nilai bil yang diinputkan oleh user dan z nilainya lebih besar sama dengan x, jadi disini, nilai z lebih besar dan nilai x dibawah nilai z yang kemudian nilai z itu sendiri di increment atau dikurangi 1.





 


for(z=x;z<2*x;z++)
{
y = z % 10;
printf("%d",y);
}
for(z=2*(x-1);z>=x;z--)
{
y = z % 10;
printf("%d", y);
}


coding program diatas adalah untuk mendapatkan nilai loncatan pada program segitiga piramida yang kemudian nilai z  akan menghasilkan loncatan atau di + 2 sehingga jika di inputkan nilainya 5 maka akan menghasilkan output  1,3,5,7,9 secara vertical. Kemudian nilai y akan dilakukan sisa bagi antara nilai z dan 10 yang kemudian nilai akhir dari index inputan 5 akan dikurangi 1, sampai akhir index itu sendiri, sehingga outputnya seperti ini : 1, dan 3,2 dan 5,4,3 dan 7,6,5,4 dan 9,8,7,6,5 dan apabila dihitung dengan semua nilai variabel maka akan menghasilkan seperti gambar diatas.
 

Apabila program dijalankan akan menghasilkan output seperti gambar dibawah ini:


Gambar Running Program

untuk lebih jelasnya, saya lengkapi dengan video pembuatannya,

 


Video diatas merupakan video pembuatan program segitiga piramida menggunakan bahasa pemrograman C. untuk deskripsi alur program dan penjelasanya, bisa dilihat pada deskripsi program diatas. download video tutorial program segitiga piramida diatas dengan mengunjungi link  http://youtu.be/ATX44gzuFeE

sampai jumpa pada video tutorial selanjutnya. selamat untuk mencoba.