Popular Post

Posted by : Unknown Sunday, November 3, 2013

Assalamualaikum Wr.Wb
kali ini saya akan menampilkan tutorial mengenai penggunaan variabel, operator, control flow, fungsi, array, dan linked list.
Kita ini kita akan menghitung sebuah kerucut namun sekarang menggunakn fungsi-fungsi diatas.
konten atau isi dari menu-menunya yaitu:
1.  Rumus Mencari Garis Pelukis.
2. Rumus Mencari Tinggi Kerucut.
3. Rumus Mencari Luas Alas Kerucut.
4. Rumus Mencari Luas Selimut Kerucut.
5. Rumus Mencari Volume Kerucut.
Dimana utnutk menampilkan menu-menu tersebut saya gunakan linked list.
Untuk pilihan menu kita menggunakan pernyataan swictch case dimana pilihanya terdiri dari angka 1 sampai 5. Dan untuk perhitungaannya saya menggunakan fungsi-fungsi tambahan diantaranya adalah garispelukis, tinggi, luasalas, luasselimut, volume.
Flowchart:



Berikut Kodenya :

#include <stdio.h> /*Memanggil header stdio.h yang berisi library/fungsi-fungs diantaranya printf() dan sacanf(),dll*/
#include <stdlib.h> /* Memanggil header stdlib.h yang berisi library/fungsi-fungsi diantaranya system(),dll*/
#include <math.h> /*Memanggil header stdio.h yang berisi library/fungsi-fungsi diantaranya sin(),cos(),tan(),dll*/
#include <string.h> /*Memanggil header string.h yang berisi library/fungsi-fungsi diantaranya strcpy_s(),gets_s(),strcmp(x,y)*/

#define phi 3.14

float garispelukis(float R,float T); /*inisialisasi fungsi yangbernama garis pelukis yang bertipe float yang memiliki methot r dan t yang bertipe float*/
float tinggi(float S, float R);
double luasalas(float R);
double luasselimut(float R, float S);
double volume(float R, float T);
int kerucut();
float hasil;
double hasil1;
float T,R;
typedef struct isimenu {
              char nama[50];
              struct isimenu *next_menu;
} menukerucut;
int main(void){
       char pass1[12], inpass1[12], pass2[12], inpass2[12]; // inisialisasi variable char yang memiliki array
              int a,b,i=1;
              do{
              strcpy_s(pass1,"Andri"); // strcpy_s digunakan untuk menyalin Andri ke variable pass1
              printf("Input Your Firs Name:");
              gets_s(inpass1); // input string
              strcpy_s(pass2,"Arisandi");
              printf("Input Your Last Name:");
              gets_s(inpass2);
              a = strcmp(pass1,inpass1); /* untuk menyamakan antara pass1 dengan data yang kita inputkan yang berada dalam variable inpass1*/
              b = strcmp(pass2,inpass2);
              if (a == 0 && b ==0){
system("cls");
                     kerucut();
                     system("pause");
                     return 0;
              }
              else {
                     printf("\nAnda tidak berhasil login\n");
                     printf("\n");
              }
              i++;
              }while (i<=3);
              printf("Anda Telah Melakukan Kesalahan Sebanyak: 3 kali\n");
              printf("\nakses ditolak\n");
              printf("\n");
              system("pause");
              return (0);
}
int kerucut(){
       int ulang=1;
       while(ulang !=0){
       int pilihan;
       float r,s,t;
menu:
       printf("== Menu Kerucut ==\n");
       menukerucut *menu1, *menu2, *menu3, *menu4, *menu5, *temp;
//alokasikan memorinya dulu
       menu1 = (menukerucut *)malloc(sizeof(menukerucut));
       menu2 = (menukerucut *)malloc(sizeof(menukerucut));
       menu3 = (menukerucut *)malloc(sizeof(menukerucut));
       menu4 = (menukerucut *)malloc(sizeof(menukerucut));
       menu5 = (menukerucut *)malloc(sizeof(menukerucut));

       strcpy(menu1->nama, "1. Rusumus Mencari Garis Pelukis");
       strcpy(menu2->nama, "2. Rumus Mencari Tinggi Kerucut");
       strcpy(menu3->nama, "3. Rumus Mencari Luas Alas Kerucut");
       strcpy(menu4->nama, "4. Rumus Mencari Luas Selimut Kerucut");
       strcpy(menu5->nama, "5. Rumus Mencari Volume Kerucut");
       menu1->next_menu = NULL;

       menu1->next_menu =menu2;
       menu2->next_menu = menu3;
       menu3->next_menu = menu4;
       menu4->next_menu = menu5;
       menu5->next_menu = NULL;

       temp = menu1;
for(;temp!=NULL; temp=temp->next_menu) //cara looping
printf("%s \n", temp->nama);
      
       printf("Masukkan pilihan: ");
       scanf_s("%d",&pilihan);
       printf("\n");
       switch(pilihan){
       case 1:
              printf("Anda Memilih Rumus Mencari Garis Pelukis Kerucut\n");
              printf("Masukkan Jari-jari(r): ");
              scanf_s("%f",&r);
              printf("Masukkan Tinggi(t): ");
              scanf_s("%f",&t);
              garispelukis(r,t);
              printf("Garis Pelukis Kerucut adalah: %.3f\n",hasil);
              break;
       case 2:
              printf("Anda Memilih Rumus Mencari Tinggi Kerucut\n");
              printf("Masukkan Nilai Garis Pelukis(s): ");
              scanf_s("%f",&s);
              printf("Masukkan jari-jari(r): ");
              scanf_s("%f",&r);
              tinggi(s,r);
              printf("Tinggi Kerucut adalah: %.3f\n",hasil);
              break;
       case 3:
              printf("Anda Memilih Rumus Mencari Luas Alas Kerucut\n");
              printf("Masukkan Nilai jari-jari(r): ");
              scanf_s("%f",&r);
              luasalas(r);
              printf("Luas Alas Kerucut adalah: %.3f\n",hasil1);
              break;
       case 4:
              printf("Anda Memilih Rumus Mencari Luas Selimut Kerucut\n");
              printf("Masukkan Nilai Garis Pelukis(s): ");
              scanf_s("%f",&s);
              printf("Masukkan Nilai jari-jari(r): ");
              scanf_s("%f",&r);
              luasselimut(r,s);
              printf("Luas Selimut Kerucut adalah: %.3f\n",hasil1);
              break;
       case 5:
              printf("Anda Memilih Rumus Mencari Volume Kerucut\n");
              printf("Masukkan Nilai jari-jari(r): ");
              scanf_s("%f",&r);
              printf("Masukkan Nilai tinggi(t): ");
              scanf_s("%f",&t);
              volume(r,t);
              printf("Volume Kerucut adalah: %.3f\n",hasil1);
              break;
       default:
              printf("Keyword yang anda masukkan salah\n");
              goto menu;
              break;
       }
       printf("\n");
       printf("Hitung Lagi? (Ketik 0 untuk berhenti) : ");
       scanf_s("%d", &ulang);
       printf("\n");
       }
       return 0;
}

float garispelukis(float R,float T){
       hasil=sqrt(pow(R,2)+pow(T,2));
       return hasil;
}
float tinggi(float S, float R){
       hasil=sqrt(pow(S,2)+pow(R,2));
       return hasil;
}
double luasalas(float R){
       hasil1=phi*(pow(R,2));
       return hasil1;
}
double luasselimut(float R, float S){
       hasil1=phi*R*S;
       return hasil1;
}
double volume(float R, float T){
       hasil1=(phi*(pow(R,2))*T*1)/3;
       return hasil1;

}

Outpunya:



Video



Ok demikian tutorial kali semoga bermanfaat...
bagi teman bolers kritik dan saran sangat saya butuhkan untuk memperbaiki dalam pembuatan tutorial selanjutnya...
Wasalamualaikum Wr.Wb.
SALAM ITB !!!!

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © D4 ITB-SEAMOLEC - Date A Live - Powered by Blogger - Designed by Aris -