Apa itu Gerbang Logika (Logic Gate) ?
Ada tujuh gerbang logika dasar, yaitu:
Unduh kode sumber : gerbanglogika.ina
Referensi : Logic Gate
Semoga bermanfaat
Gerbang Logika adalah sebuah dasar blok pembangun dari sirkuit dijital. Banyak gerbang logika memiliki dua input dan satu output, yakni nilai 0 (low) dan 1 (high) yang menggambarkan perbedaan tingkat voltase.
Ada tujuh gerbang logika dasar, yaitu:
- AND
- OR
- XOR
- NOT
- NAND
- NOR
- XNOR
Kali ini, saya menulis tentang membuat program gerbang logika dengan menggunakan bahasa pemrograman BAIK. Mungkin di antara pembaca masih belum tahu tentang BAIK ini. BAIK ada bahasa pemrograman yang menggunakan sintaks bahasa Indonesia dan dapat diunduh di sourceforge. Bahasa pemrograman tersebut menggunakan ekstensi .ina untuk nama berkas skrip programnya. Kode sumber ada di bawah.
# program utama
&menu()
# fungsi
Fungsi menu(){
perintah "clear"
tulis "\t\t\t#################################\n"
tulis "\t\t\t#\t\t\t\t#\n"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# GERBANG LOGIKA #\t#\n"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t\t\t\t#\n"
tulis "\t\t\t#################################\n"
tulis "\t\t\t#\t MENU PILIHAN \t#\n"
tulis "\t\t\t#################################\n"
data = "AND,OR,NOT,NAND,NOR,XOR,XNOR,Keluar"
a[] = pisah data , ","
y = panjang a
untuk (i=0;i<y;i=i+1) ulang
tulis "\t\t\t#\t ",i,". ",a[i]," \t\t#\n"
lagi
tulis "\t\t\t#################################\n"
tulis "\t\t\t MASUKAN PILIHAN : "
masuk pil
kalau pil == 0 maka
&and()
&kembali()
lainnya kalau pil == 1 maka
&or()
&kembali()
lainnya kalau pil == 2 maka
&negasi()
&kembali()
lainnya kalau pil == 3 maka
&nand()
&kembali()
lainnya kalau pil == 4 maka
&nor()
&kembali()
lainnya kalau pil == 5 maka
&xor()
&kembali()
lainnya kalau pil == 6 maka
&xnor()
&kembali()
lainnya kalau pil == 7 maka
tamat
lainnya
tulis "\n\t\t\t\tTidak ada pilihan"
tunggu 5
&menu()
akhirkalau
}
Fungsi kembali(){
tulis "\n"
tulis "\t\t\t#################################\n"
datas = "Menu,Keluar"
b[] = pisah datas , ","
x = panjang b
untuk (j=0;j<x;j=j+1) ulang
tulis "\t\t\t#\t ",j,". ",b[j]," \t\t#\n"
lagi
tulis "\t\t\t#################################\n"
tulis "\t\t\t MASUKAN PILIHAN : "
masuk pil2
kalau pil2 == 0 maka
&menu()
lainnya kalau pil2 == 1 maka
tamat
lainnya
tulis "\n\t\t\t\tTidak ada pilihan\n"
tunggu 5
&kembali()
akhirkalau
}
Fungsi and(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# AND #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : "
masuk bin1
tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : "
masuk bin2
kalau (bin1==1 dan bin2==1) maka
tulis "Hasil dari ",bin1," AND ",bin2," adalah 1\n"
lainnya
tulis "Hasil dari ",bin1," AND ",bin2," adalah 0\n"
akhirkalau
}
Fungsi or(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# OR #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : "
masuk bin1
tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : "
masuk bin2
kalau (bin1==1 atau bin2==1) maka
tulis "Hasil dari ",bin1," OR ",bin2," adalah 1\n"
lainnya
tulis "Hasil dari ",bin1," OR ",bin2," adalah 0\n"
akhirkalau
}
Fungsi negasi(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# NOT #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER (0 atau 1) : "
masuk bin1
tulis "\n"
kalau (bin1==0) maka
biner1 = bukan bin1
tulis "Hasil negasi dari ",bin1," adalah ",biner1,"\n"
lainnya kalau (bin1==1) maka
biner2 = bukan bin1
tulis "Hasil negasi dari ",bin1," adalah ",biner2,"\n"
akhirkalau
}
Fungsi nand(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# NAND #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : "
masuk bin1
tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : "
masuk bin2
kalau (bukan(bin1==1 dan bin2==1)) maka
tulis "Hasil adalah 1\n"
lainnya
tulis "Hasil adalah 0\n"
akhirkalau
}
Fungsi nor(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# NOR #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : "
masuk bin1
tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : "
masuk bin2
kalau (bukan (bin1==1 atau bin2==1)) maka
tulis "Hasil adalah 1\n"
lainnya
tulis "Hasil adalah 0\n"
akhirkalau
}
Fungsi xor(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# XOR #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : "
masuk bin1
tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : "
masuk bin2
kalau ((bin1<>1 dan bin2<>1) atau (bin1<>0 dan bin2<>0)) maka
#kalau (bukan((bin1==0 atau bin2==0) dan (bin1==1 atau bin2==1))) maka
tulis "Hasil adalah 0\n"
lainnya
tulis "Hasil adalah 1\n"
akhirkalau
}
Fungsi xnor(){
#fix
perintah "clear"
tulis "\t\t\t#\t##################\t#\n"
tulis "\t\t\t#\t# XNOR #\t#\n"
tulis "\t\t\t#\t##################\t#\n\n"
tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : "
masuk bin1
tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : "
masuk bin2
kalau (bukan((bin1==1 dan bin2==1) atau (bin1==0 dan bin2==0))) maka
tulis "Hasil adalah 0\n"
lainnya
tulis "Hasil adalah 1\n"
akhirkalau
}
tamat
|
![]() |
AND |
![]() |
AND INPUT |
![]() |
OR |
![]() |
NOT |
![]() |
NAND |
![]() |
NOR |
![]() |
XOR |
![]() |
XNOR |
![]() |
MENU |
![]() |
QUIT |
Unduh kode sumber : gerbanglogika.ina
Referensi : Logic Gate
Semoga bermanfaat
How to get parameter string that will passed to the executable script when it will launched?
BalasHapusFor numeric values:
[Example]
tulis "Input num: \n"
masuk num
tulis "You enter: ", num, "\n"
[Execution]
$ baik input.ina [Enter]
[Result]
Input num:
123
You enter: 123
For string values: ????
[Example]
tulis "Input string: \n"
masuk str
tulis "You enter: ", str, "\n"
[Execution]
$ baik input.ina [Enter]
[Result]
Input str:
abc
You enter: 0
for read input text, you can use ->> data1 = teks_masukan str
HapusKalau membuat lebih dari satu baris bilangannya gmna pak,,
BalasHapusContohnya bil biner 1 = 111011010111
Tapi dalam bahasa java,,
Kalau membuat lebih dari satu baris bilangannya gmna pak,,
BalasHapusContohnya bil biner 1 = 111011010111
Tapi dalam bahasa java,,