Friday, December 31, 2010

program flip flop jk dengan bahasa C

kita akan membuat program untuk pengoprasian dari flip flop JK. Berikut adalah listing yang akan kita gunaakan :

#include
#include
void main(){
int a1,a2;
char pil2;
do{
do{
clrscr();
printf("\nPROGRAM FLIP FLOP - JK\n");
printf("----------------- \n");
printf("Masukkan nilai \n");
printf("----------------- \n");
printf("Masukkan nilai J : ");
scanf("%d", &a1);
printf("Masukkan nilai K : ");
scanf("%d", &a2);}
while (!(((a1==1)||(a1==0)||(a2==1)||(a2==0))));
if(a1==0&&a2==0){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 0,\nMemori\n");}
else if(a1==0&&a2==1){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 1,\nReset\n");}
else if (a1==1&&a2==0){
printf("\nHasilnya yaitu :\nQ = 1,\nQ'= 0,\nSet\n");}
else if (a1==1&&a2==1){
printf("\nHasilnya yaitu :\nQ = 1,\nQ'= 1,\nToggle\n");}
else
printf("\nInput yang anda masukkan salah \n");
printf("\nApakah anda ingin melakukan input lagi [Y/N] : ");
fflush(stdin);
scanf("%c", &pil2);}
while(pil2=='Y'||pil2=='y');}

1.Dalam bahasa C kita banyak menggunakan identifier – identifier . identifier tersebut telah di kelompokkkan kedalam masing – masing library routine. Pada program kali ini kita menggunakan 2 buah library routine, yaitu :
-#include
-#include
untuk mendeklarasikan library routine kita harus menuliskan #include .

2.‘void main() ‘
Kita menuliskan induk dari suatu program yang akan kita gunakan, barulah kita mulai suatu blok program yang akan kita buat dengan meuliskan tanda ‘ { ‘ .

3.int a1,a2;
char pil2;
Kita mendeklarasikan variable –variable yang akan kita gunakan nantinya. Dalam program ini, kita membuat 2 variable ( a1,a2 ) dengan tipe data integer dan 1 variable ( pil2 ) dengan tipe data character.

4.Do{
Karena kita akan membuat program agar user dapat melakukan beberapa kali penginputan nilai. Untuk itu kita akan memberikan statement untuk perulangan, dalam program ini kita menggunakan statemtn do while. Artinya selama syarat yang kita berikan pada statement while terpenuhi, maka program yang berada di dalam satament do, akan terus dilakukan. Syarat yang di berikan pada statement while,akan di jelaskan di langkah – langkah berikutnya.

5.Clrscr()
adalah perintah untuk membersihkan tampilan pada layar.

6.Kita akan membuat tampilan untuk program yang akan kita jalankan
printf("\nPROGRAM FLIP FLOP - JK\n");
printf("----------------- \n");
printf("Masukkan nilai \n");
printf("----------------- \n");
printf("Masukkan nilai J : ");
scanf("%d", &a1);
printf("Masukkan nilai K : ");
scanf("%d", &a2);}

karena kita akan meninta user melakukan pengintputan pada program yang kita buat, maka kita menggunakan perintah ‘scanf’

-printf("Masukkan nilai J : ");
scanf("%d", &a1);
kita meminta user memasukkan nilai dari ‘J’. karena input yang kita inginkan adalah nilai integer,maka kita menggunakan penanda ‘%d’. kita akan menyimpan nilai input tersebut kedalam variable a1,karena itu kita menggunakan penanda ‘&a1’ agar nilai input tersebut disimpan dalam var a1.

-printf("Masukkan nilai K : ");
scanf("%d", &a2);}
kita meminta user memasukkan nilai dari ‘K’. karena input yang kita inginkan adalah nilai integer,maka kita menggunakan penanda ‘%d’. kita akan menyimpan nilai input tersebut kedalam variable a1,karena itu kita menggunakan penanda ‘&a2’ agar nilai inoput tersebut disimpan dalam var a2.

7.kita akan melakukan suatu pengolahan dari data – data yang telah di input kan oleh user. Dalam pembuatan langkah pengolahan ini,kita mengambil konsep dari flip flop JK (karena kita ingin membuat program untuk flip flop JK ) yaitu :

-jika nilai input J = 0 dan nilai input K = 0) , maka akan menhasilkan nilai yang disebut dengan ‘memory’
-jika nilai input J = 0 dan nilai input K = 1) , maka akan menhasilkan nilai yang disebut dengan ‘Reset’
-jika nilai input J = 1 dan nilai input K = 0) , maka akan menhasilkan nilai yang disebut dengan ‘Set’
-jika nilai input J = 1 dan nilai input K = 1) , maka akan menhasilkan nilai yang disebut dengan ‘Toggle’

untuk menghasilkan output yang sesuai dengan teori diatas,maka kita dapat menggunakan perintah percanbangan ‘if’ sebagai berikut :

while(!(((a1==1)||(a1==0)&&(a2==1)||(a2==0))));
if(a1==0&&a2==0){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 0,\nMemori\n");}
else if(a1==0&&a2==1){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 1,\nReset\n");}
else if (a1==1&&a2==0){
printf("\nHasilnya yaitu :\nQ = 1,\nQ'= 0,\nSet\n");}
else if (a1==1&&a2==1){
printf("\nHasilnya yaitu :\nQ = 1,\nQ'= 1,\nToggle\n");}
else
printf("\nInput yang anda masukkan salah \n");

•pada statemen paling atas terdapat statement while, yang berfungsi untuk menyaring apakah nilai yang di inputkan oleh user sudah benar ( nilai input yang akan kita proses hanyalah nilai 0 dan 1 , artinya jika kita inputkan nilai selain 0 atau 1 pada salah satu variable , maka input tersebut tidak bisa kita proses ). Karena di depan statement while kita mengguankan tanda ‘!’ artinya selama nilai dari var a1 atau a2 tidak sesuai dengan syarat,maka akan dilakukan perulangan.

•Lalu pada statement paling bawah terdapat statement else. Artinya jika nilai input yang kita masukkan bukanlah 1 atau 0 , maka statement else ini lah yang akan di jalankan.

•Statement – statement percabangan if diatas,kita sesuaikan dengan teori yang kita dapatkan

1.if(a1==0&&a2==0){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 0,\nMemori\n");}
jika nilai dari var a1=0 dan nilai dari var a2=0 , maka output yang akan dihasil kan adalah memory

2.elseif(a1==0&&a2==1){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 0,\nreset\n");}
karena kita menghasilkan output yang berbeda untuk tiap syarat,maka kita menggunakan perintah elseif,dengan proses jika nilai dari var a1=0 dan nilai dari var a2=1 , maka statement yang akan dijalankan adalah statement yang berada didalam block program yang kita tentukan,yaitu mencetak output ‘reset’.

3.elseif(a1==1&&a2==0){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 0,\nset\n");}
karena kita menghasilkan output yang berbeda untuk tiap syarat,maka kita menggunakan perintah elseif,dengan proses jika nilai dari var a1=1 dan nilai dari var a2=0 , maka statement yang akan dijalankan adalah statement yang berada didalam block program yang kita tentukan,yaitu mencetak output ‘set’.

4.elseif(a1==1&&a2==1){
printf("\nHasilnya yaitu :\nQ = 0,\nQ'= 0,\ntoogle\n");}
karena kita menghasilkan output yang berbeda untuk tiap syarat,maka kita menggunakan perintah elseif,dengan proses jika nilai dari var a1=0 dan nilai dari var a2=1 , maka statement yang akan dijalankan adalah statement yang berada didalam block program yang kita tentukan,yaitu mencetak output ‘toogle’.

8.Pada program ini kita menggunakan 2 buah statement do while untuk perulangan. Do while yang pertatma kita gunakan untuk melakukan perulangan jika input yang di masukkan user salah, sehingga user akan melakukan pernginputan lagi. Do while yang ke 2 , kita gunakan untuk melakukan perulangan , apabila user ingin melakukan perhitugan untuk data yang berbeda. Beriktu adalah syarat yang kita gunakan pada while ke 2 :

printf("\nApakah anda ingin melakukan input lagi [Y/N] : ");
fflush(stdin);
scanf("%c", &pil2);}
while(pil2=='Y'||pil2=='y');}

-Pertama – tama kita akan mencetak string “Apakah anda ingin melakukan input lagi [Y/N] : “ untuk bertanyan pada user.

-Lalu perintah ‘fflush (stdin)’ ini kita gunakan,agar user dapat melakukan suatu penginputan, jika tidak ada perintah ini,maka setelah computer mengolah data yang di input user,maka program akan langsung keluar.

-Karena kita ingin mendapatkan input dari user berupa character ,maka kita menggunakan penanda “%c” agar inputan tersebut di simpan sebagai type data character.

-Lalu kita akan memasukkan inoput tersebut kedalam var pil2, untuk itu kita menggunakan penanda ‘&pil2’ agar input yang di masukkan user tersimpan kedalam var tersebut.

-Setalah kita mendapatkan informasi dari user, apakah user ingin melakukan perhitugan ulang atau tidak, barulah kita olah data tersebut dengan menggunakan statement while, yang artinya selama nilai dari var pil2 adalah ‘Y’ atau ‘y’ maka kita semua statemtn yang berada didalam block program do akan diajlankan lagi ( mengunlang progam dari awal). kita menggunakan operand || , untuk membuat nilai dari while tersebut akan dijalankan walaupun nilai yang diinputkan oelh user adalah y capital ataupun y kecil.

No comments:

Post a Comment