Selasa, 21 Juni 2016

Mencari nilai error dan propotional pada op-amp pid


program err_pid;
uses crt;
var
R1, R2, R3: integer;
vset, vsens, verr: integer;
RP1, RP2: integer;
p: integer;
pilihan: integer

procedure err;
begin
vset:= 20, vsens:=11;
verr:=(vset-vsens);
writeln('nilai error');
writeln('masukkan nilai vset: ', 20);
writeln('masukkan nilai vsens: ', 11);
readln;
write(nilai error= ', verr, 'V');
readln;
end;

procedure propotional;
begin
vset:=40, vsens:=28;
verr:=(vset-vsens);
RP1:=1000, RP2:=10000;
p:=(RP2/RP1)*verr;
writeln('masukkan nilai vset: ',40);
writeln('masukkan nilai vsens: ',28);
writeln('masukkan nilai RP1: ',1000);
writeln('masukkan nilai RP2: ',10000);
readln;
write('nilai propotional = ',p, 'V');
readln;
end;

begin
writeln('_____Rumus kontrol PID dengan op-amp_____');
writeln('[1] menghitung nilai tegangan error');
writeln('[2] menghitung nilai tegangan propotional');
writeln('_________________________________________');
write('Pilih 1/2: '); readln(pilihan);
writeln;

if pilihan=1 then
begin
err;
end;
if pilihan=2 then
begin
propotional;
end;
readln;
end;
else
begin
writeln(' ');
end;
readln;
end.


Kamis, 16 Juni 2016

Register pada Intel core I3

Register merupakan memori internal yang sangan kecil kapasitasnya yang biasa digunakan untuk menyimpan instruksi serta data pada sebiah IC/chip mikroprosesor. Berikut saya akan memberikan spesifikasi register dari salah satu seri dari prosesor Intel Core I3 sebagai berikut:


dan berikut ini juga merupakan spesifikasi dari salah satu prosesor intel core i3 yaitu:


Senin, 30 Mei 2016

Konversi biner oktal ke desimal

Aplikasi pascal ini di buat untuk mengkonversi bilangan dari biner dan oktal ke desimal. Cara kerja aplikasi ini yaitu dengan memilih ingin mengkonversi biner terlebih dahulu, atau oktal dengan pilihan angka pada home screen, jika sudah masukkan input sesuai yang sudah dipilih, maka tekan enter untuk masuk ke sub menu yg sudah dipilih, kemudian masukkan berapa digit angka yang ingin dikonversikan, lalu masukkan bilangan yang ingin di konversikan, lalu tekan enter untuk melihat hasil.



Source code

program konversi;
uses crt;
type
bilangan=record
a,b,hasil : integer;
end;
var n,i,basis,b,a,total : integer;
pilihan : integer;
bil : array[1..50] of bilangan;

procedure biner;
begin
basis:=2;
writeln('Program Konversi Biner ke Desimal');
writeln('Basis Bilangan = ',basis);
write('Masukkan Jumlah Bilangan = ');readln(n);
for i:=1 to n do
begin
write('Masukkan bilangan ke',i,' = ');readln(bil[i].a);
bil[i].b:=bil[i].a;
bil[i].hasil:=bil[i].hasil+bil[i].b;
if i=2 then
begin
bil[i].hasil:=bil[i].a+bil[i-1].b*basis;
end;
if i>2 then
begin
bil[i].hasil:=bil[i].b+bil[i-1].hasil*basis;
end;
n:=n+1;
end;
writeln('Hasil Konversi adalah = ',bil[i].hasil);
end;

procedure oktal;
begin
basis:=8;
writeln('Program Konversi Oktal ke Desimal');
writeln('Basis Bilangan = ',basis);
write('Masukkan Jumlah Bilangan = ');readln(n);
for i:=1 to n do
begin
write('Masukkan bilangan ke',i,' = ');readln(bil[i].a);
bil[i].b:=bil[i].a;
bil[i].hasil:=bil[i].hasil+bil[i].b;
if i=2 then
begin
bil[i].hasil:=bil[i].a+bil[i-1].b*basis;
end;
if i>2 then
begin
bil[i].hasil:=bil[i].b+bil[i-1].hasil*basis;
end;
writeln('',bil[i].hasil);
n:=n+1;
end;
writeln('Hasil Konversi adalah = ',bil[i].hasil);
end;


begin
clrscr;
writeln('Program Konversi Biner dan Oktal ke Desimal');
writeln('');
writeln('1. Biner 2.Oktal 0.Exit');
writeln('');
write('Pilih Konversi Bilangan yang ingin digunakan ( 1 atau 2 ) : ');readln(pilihan);
if pilihan=1 then
begin
clrscr;
biner;
end;
if pilihan=2 then
begin
clrscr;
oktal;
end;
readln;
if pilihan=0 then
begin
end;
end.

Rabu, 13 April 2016

Konversi biner dan desimal dengan bahasa pascal

Aplikasi pascal ini di buat untuk mengkonversi bilangan dari biner ke desimal - desimal ke biner. Cara kerja aplikasi ini yaitu dengan memilih ingin mengkonversi biner terlebih dahulu, atau desimal, jika sudah masukkan input sesuai yang sudah dipilih tadi kemudian enter untuk melihat hasil.

Berikut adalah struktur algoritma program dan script program :


Script:

program test;
uses crt;

function pkt(z :real;n : integer):real;
var
  t : real;
  m : integer;
begin

m:=abs(n);
if (z<>0) and (n=0) then pkt:=1
else if n >0 then
pkt:=z*pkt(z,n-1)
else if (n < 0) then pkt := 1/(z*pkt(z,m-1));
end;

var
  Des : integer;
  Bin, choice1, choice2 : string;
  i,x:integer;
  dec:real;

  begin
  clrscr;
      write('apakah anda ingin mencari bilangan desimal ke biner ? (y/n)');
      readln(choice1);
      if (choice1 = 'y') then
      begin


writeln('Konversi Bilangan Desimal Ke Biner');
writeln('==================================');
writeln;


write ('Masukan Bilangan Desimal : ');
readln (Des);
Bin := ' ';
repeat

begin
{Menghitung Biner Dari Sisa Hasil Bagi}
if Des mod 2 = 0 then Bin := '0' + Bin
else Bin := '1' + Bin;
{Membagi Bulat Bil Desimal}
Des := Des div 2;
end;

until Des = 0;
writeln;
writeln('Hasil Konversi');
writeln('==============');
writeln;
WriteLn ('Bilangan Biner : ',Bin);readln;


      end
      else if (choice1 = 'n') then
      begin

        write('apakah anda ingin mencari bilangan biner ke desimal ? (y/n)');
        readln(choice2);

        if (choice2 = 'y') then
        begin





dec:=0;
repeat
writeln('Konversi Bilangan Biner Ke Desimal');
writeln('==================================');
writeln;
writeln('Bilangan Biner (16 digit) : ');readln(bin);
if length(bin) > 16 then


begin
gotoxy(18,27);writeln('Digit nilai yang anda masukkan melebihi 16.');gotoxy(1,1);
end;
until length(bin) <= 16;
for i:= 1 to 16 do

begin
case i of                                                       
1: x:=16;2: x:=15;3: x:=14;4: x:=13;5: x:=12;6: x:=11;7: x:=10;8: x:=9;
9: x:=8;10: x:=7;11: x:=6;12: x:=5;13: x:=4;14: x:=3;15: x:=2;16: x:=1;
end;
if bin[i] = '1' then
dec:= dec + pkt(2,x-1);
if bin[i] = '0' then dec:= dec + 0;
end;
writeln('Hasil Konversi');
writeln('==============');
writeln;
writeln(bin,' (biner) = ',dec:0:0,' (desimal)');readln;



        end
        else if (choice2 = 'n') then
        begin
          writeln('tidak dapat melanjutkan program');
        end
        else
        begin
          writeln('salah input');
        end;

      end
      else
      begin
        writeln('salah input');
      end;

  end.

Minggu, 20 Maret 2016

Konversi Bilangan

Baiklah kali ini kita akan membuat program aplikasi konversi bilangan dengan visual basic, yg pertama kali ialah kita harus membuat flow chart input outputnya seperti di bawah ini:



setelah itu buka alpikasi visual basic dan buat form aplikasi konversi bilangan seperti dibawah ini:


kemudian buatlah statement program seperti ini:

Option Explicit On

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If ComboBox1.SelectedItem = "Bin" And ComboBox2.SelectedItem = "Dec" Then Output.Text = BinToDes(Input.Text)
        If ComboBox1.SelectedItem = "Bin" And ComboBox2.SelectedItem = "Bin" Then Output.Text = Input.Text
        If ComboBox1.SelectedItem = "Bin" And ComboBox2.SelectedItem = "Oct" Then Output.Text = BinToOk(Input.Text)
        If ComboBox1.SelectedItem = "Bin" And ComboBox2.SelectedItem = "Hex" Then Output.Text = BinToHex(Input.Text)
        If ComboBox1.SelectedItem = "Dec" And ComboBox2.SelectedItem = "Bin" Then Output.Text = DesToBin(Input.Text)
        If ComboBox1.SelectedItem = "Dec" And ComboBox2.SelectedItem = "Dec" Then Output.Text = Input.Text
        If ComboBox1.SelectedItem = "Dec" And ComboBox2.SelectedItem = "Oct" Then Output.Text = DesToOk(Input.Text)
        If ComboBox1.SelectedItem = "Dec" And ComboBox2.SelectedItem = "Hex" Then Output.Text = DesToHex(Input.Text)
        If ComboBox1.SelectedItem = "Oct" And ComboBox2.SelectedItem = "Bin" Then Output.Text = OkToBin(Input.Text)
        If ComboBox1.SelectedItem = "Oct" And ComboBox2.SelectedItem = "Hex" Then Output.Text = OkToHex(Input.Text)
        If ComboBox1.SelectedItem = "Oct" And ComboBox2.SelectedItem = "Dec" Then Output.Text = OkToDes(Input.Text)
        If ComboBox1.SelectedItem = "Oct" And ComboBox2.SelectedItem = "Oct" Then Output.Text = Input.Text
        If ComboBox1.SelectedItem = "Hex" And ComboBox2.SelectedItem = "Bin" Then Output.Text = HexToBin(Input.Text)
        If ComboBox1.SelectedItem = "Hex" And ComboBox2.SelectedItem = "Dec" Then Output.Text = HexToDes(Input.Text)
        If ComboBox1.SelectedItem = "Hex" And ComboBox2.SelectedItem = "Oct" Then Output.Text = HexToOk(Input.Text)
        If ComboBox1.SelectedItem = "Hex" And ComboBox2.SelectedItem = "Hex" Then Output.Text = Input.Text


        With Input.SelectionStart = (0)
            Input.SelectionLength = Len(Input.Text)
        End With
    End Sub

Private Sub Input_TextChanged(sender As Object, e As EventArgs) Handles Input.TextChanged
        Dim UpperCase As String
        UpperCase = UCase(Input.Text)
        Input.Text = UpperCase
    End Sub

Public Function BinToDes(ByVal NBiner As String) As Long
        Dim A As Integer
        Dim B As Long
        Dim Nilai As Long
        On Error GoTo ErrorHandler
        B = 1
        For A = Len(NBiner) To 1 Step -1
            Select Case Mid(NBiner, A, 1)
                Case 0 To 1
                    If Mid(NBiner, A, 1) = "1" Then Nilai = Nilai + B
                    B = B * 2
                Case Else
                    MsgBox("Please input binary", vbCritical)
            End Select
        Next
        BinToDes = Nilai
        Exit Function
ErrorHandler:
        BinToDes = 0
    End Function

Public Function DesToBin(ByVal NDesimal As Long) As String
        Dim C As Byte
        Dim D As Long
        Dim Nilai As Long
        On Error GoTo ErrorHandler
        D = (2 ^ 31) - 1
        While D > 0
            If NDesimal - D >= 0 Then
                NDesimal = NDesimal - D
                Nilai = Nilai & "1"
            Else
                If Val(Nilai) > 0 Then Nilai = Nilai & "0"
            End If
            D = D / 2
        End While
        DesToBin = Nilai
        Exit Function
ErrorHandler:
        DesToBin = 0
    End Function

Public Function DesToHex(ByVal NDesimal As Long) As String
        DesToHex = Hex(NDesimal)
    End Function

Public Function HexToDes(ByVal NHexa As String) As Long
        Dim E As Integer
        Dim Nilai As Long
        Dim F As Long
        Dim CharNilai As Byte
        On Error GoTo ErrorHandler
        For E = Len(NHexa) To 1 Step -1
            Select Case Mid(NHexa, E, 1)
                Case "0" To "9" : CharNilai = CInt(Mid(NHexa, E, 1))
                Case Else
                    If (Mid(NHexa, E, 1) = "A" Or Mid(NHexa, E, 1) = "B" Or Mid(NHexa, E, 1) = "C" Or Mid(NHexa, E, 1) = "D" Or Mid(NHexa, E, 1) = "E" Or Mid(NHexa, E, 1) = "F") Then
                        CharNilai = Asc(Mid(NHexa, E, 1)) - 55
                    Else
                        MsgBox("Please input 0 to 9, A to F", vbCritical, vbOKOnly)
                    End If
            End Select
            Nilai = Nilai + ((16 ^ F) * CharNilai)
            F = F + 1
        Next E
        HexToDes = Nilai
        Exit Function
ErrorHandler:
        HexToDes = 0
    End Function
    Public Function DesToOk(ByVal NDesimal As Long) As String
        DesToOk = Oct(NDesimal)
    End Function

    Public Function OkToDes(ByVal NOktal As String) As Long
        Dim G As Integer
        Dim H As Long
        Dim Nilai As Long
        On Error GoTo ErrorHandler
        For G = Len(NOktal) To 1 Step -1
            Select Case Mid(NOktal, G, 1)
                Case "0" To "7"
                    Nilai = Nilai + (8 ^ H) * CInt(Mid(NOktal, G, 1))
                    H = H + 1
                Case Else
                    MsgBox("Please input 0 to 7", vbCritical, vbOKOnly)
            End Select
        Next G
        OkToDes = Nilai
        Exit Function
ErrorHandler:
        OkToDes = 0
    End Function

Public Function BinToOk(ByVal bin As Long) As String
        BinToOk = DesToOk(BinToDes(bin))
    End Function

Public Function BinToHex(ByVal NBiner As Long) As String
        BinToHex = DesToHex(BinToDes(NBiner))
    End Function

Public Function OkToBin(ByVal NOktal As Double) As String
        OkToBin = DesToBin(OkToDes(NOktal))
    End Function

Public Function OkToHex(ByVal NOktal As Double) As String
        OkToHex = DesToHex(OkToDes(NOktal))
    End Function

Public Function HexToBin(ByVal NHexa As String) As String
        HexToBin = DesToBin(HexToDes(NHexa))
    End Function
    '      
Public Function HexToOk(ByVal NHexa As String) As Double
        HexToOk = DesToOk(HexToDes(NHexa))
    End Function

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Input.Text = ""
        Output.Text = ""
    End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        End
    End Sub
End Class


selamat mencoba....

Sabtu, 30 Januari 2016

Proposal Usaha Mini Jet Engine

Nama perusahaan           : 24Match
Alamat                          : -
Telepon                         : -


Ringkasan Eksekutif
Kami selaku pembuat keputusan berkomitmen menjalankan perusahaan secara professional agar bisa menyelesaikan produk tepat waktu dan bisa menjualnya dengan lancar. Target produksi perusahaan kami setahun kedapan adalah membuat sebuah alat canggih masa kini yaitu Mini Jet. Masing-masing produk kami akan selesai dalam waktu lima bulan.

Tujuan
Kami membuat produk yang dapat di implementasikan dengan beberapa Remote Control baik RC Jet / RC Car untuk tujuan hobi atau kompetisi.

Visi
Berinovasi dengan teknologi masa kini

Misi
-          Membuat produk yang berkualitas untuk hobi dan kompetisi
-          Untuk menumbuhkan minat pada generasi masa kini untuk dapat mengetahui teknologi masa kini

Sekilas Perusahaan
24Match  adalah perusahaan teknologi yang membuat mesin mini jet serta mengembangkannya dengan teknologi remote control yang biasa terdapat pada mainan RC

Kepemilikan Perusahaan
24Match adalah perusahaan independen yang dimiliki oleh Budi

Sejarah Perusahaan
24Match adalah perusahaan teknologi yang bergerak dibidang pembuatan mesin mini jet. Didirikan pada dd/mm/yyyy oleh Budi yang berlokasi di Jl. xxx

Lokasi dan Fasilitas Perusahaan
24Match berlokasi di Jl. xxx. Tempat usaha berupa bangunan gudang 1 lantai.

Produk
24Match mempunyai tiga produk, yaitu Mini Jet Engine for RC Jet, RC Jet Car, RC Rocket

Deskripsi Produk
-          Mini Jet Engine for RC Jet/Car/Rocket
Merupakan mainan Remote Control Jet Plane/Remote Control Car/Remote Control Rocket  yang di gabungkan dengan mesin mini jet sebagai mesin penggerak utama/pendorongnya yang di atur menggunakan sebuah Remote Control sebagai pengendali.

Analisis Pasar
Dengan mahalnya sebuah mesin mini jet tentunya hanya sedikit orang yang akan berminat, namun kami berkeyakinan dengan cara membuat dari bahan-bahan lokal berkualitas sama dengan bahan impor agar produk kami bisa disukai oleh para peminat Remote Control dengan harga yang terjangkau, dan juga kami berharap agar dapat mengekspor produk kami ke mancanegara

Analisis Industri
Saat ini kami mengetahui bahwa ada beberapa perusahaan yang sudah menjual produk yang sama ke pasar, namun begitu kami tetap berkeyakinan kalau produk kami, Insya Allah masih bisa laku lantaran adanya perbedaan karakteristik. Selain itu, kami pun mengetahui bahwa mayoritas konsumen produk ini tidak hanya dari negeri ini, melainkan dari mancanegara juga banyak yang menjadi konsumen dari produk ini.

Peramalan Pasar
Jika produk kami sudah menjadi produk yang disukai oleh peminat lokal, maka kami siap untuk bersaing dengan perusahaan luar untuk memenuhi peminat mancanegara.

Strategi Pemasaran
Strategi kami adalah strategi samudera biru, yang mana perusahaan kami akan bekerja sama dengan perusahaan lain guna mencapai tujuan. Salah satunya adalah bekerja sama dengan beberapa perusahaan RC/yang sejenis di negeri ini dalam hal promosi dan pemasaran.

Organisasi
Perusahaan kami terdiri dari lima divisi.

1       1. Divisi Produksi
-        Kepala Produksi (Bertanggung jawab dalam menghasilkan produk yang berkualitas)
-        Product designer
-        Programmer

2       2. Divisi Keuangan dan Manajemen
-        Kepala keuangan dan manajemen (Bertanggung jawab dalam menyediaan dana produksi dan operasional)
-        Akuntan
-        Administrasi

3       3. Divisi Operasional dan Pemeliharan
-        Kepala operasional dan pemeliharaan (Bertanggung jawab dalam penyediaan dan memelihara perlengkapan kerja)
-        Teknisi
-        OB

4       4. Divisi Pemasaran
-          Kepala pemasaran (Bertanggung jawab dalam penjualan produk dan promosi)
-          Humas
-          Sales

5       5. Divisi RnD
-          Kepala RnD (Bertanggung jawab dalam Riset dan Development)
-          Riset
-          Development

Estimasi Biaya
Mini Turbofan   : Rp xxx,-
Mini Turboprop : Rp xxx,-
Total Pembuatan = Rp xxx,-

Biaya Operasional
-          Sewa Gudang 1 lantai selama lima tahun
-          Listrik selama setahun
-          Telepon dan internet selama setahun
-          Perlengkapan kantor setahun
-          Perlengkapan produksi setahun

Total biaya operasional = Rp xxx,-
Total biaya keseluruhan = biaya produksi + biaya operasional
Rp xxx,- + Rp xxx,- = Rp xxx,-

Keuntungan
Pendapatan – Total biaya = keutungan
Rp xxx,- - Rp xxx,- = Rp xxx,-

Revenue Cost Ratio (R/C)
R/C = Pendapatan / Total Biaya
Rp xxx,- / Rp xxx,- = xxx

R/C sebesar xxx menunjukkan bahwa usaha tersebut masih layak dilakukan. Artinya dari setiap modal Rp x,- yang dikeluarkan akan menghasilkan keuntungan.

Break Event Point (BEP)
BEP Produksi = Total Biaya / Harga Jual
Rp xxx,- / Rp xxx,- = xxx/buah

BEP Harga = Total Biaya / Total Produksi
Rp xxx,- / xxx = Rp xxx,- / buah

Angkat tersebut menunjukkan bahwa investasi akan berada dalam titik impas jika dalam setahun mampu menjual produk sebanyak xxx buah/tahun dan tingkat harga jual Rp xxx,-/buah.


Minggu, 24 Januari 2016

Teknik Encoding

Encoding Polar

Ketika digital encoding simetris di sekitar 0 volt, ini disebut kode Polar. Interface RS- 232D menggunakan kutub line encoding. Sinyal tidak kembali ke nol, baik +ve tegangan atau –ve tegangan. Kutub line encoding juga disebut tidak kembali ke nol (NRZ). Kutub line encoding adalah pola sederhana yang menghilangkan sebagian besar masalah residual DC.


Masih ada masalah kecil residual DC, tetapi kutub line encoding merupakan perbaikan atas Unipolar line encoding. Pengkodean kutub memiliki manfaat tambahan dalam mengurangi daya yang digunakan untuk mengirimkan sinyal oleh setengah dibandingkan dengan unipolar.


Kutub line encoding memiliki masalah sinkronisasi yang sama seperti Unipolar line encoding. Jika ada serangkaian panjang Logis 1s atau 0s, osilator menerima dapat melayang dan menjadi unsynchronized.


Encoding Bipolar

Bipolar line encoding memiliki 3 tingkat tegangan, rendah atau 0 diwakili oleh tingkat Volt 0 dan 1 diwakili oleh bolak-balik polaritas pulsa. Dengan membalik polaritas pulsa untuk 1s, maka akan membatalkan komponen residual DC.


Sinkronisasi penerima dan transmisi clock sangat meningkat kecuali jika ada serangkaian panjang 0s ditransmisikan. Bipolar baris pengkodean juga disebut Alternate Mark Inversion (AMI).


Unipolar Encoding

Unipolar encoding memiliki 2  tegangan dengan salah satu tegangan yang menjadi 0 Volt. Karena Unipolar line encoding memiliki salah satu tegangan yang menjadi 0 volt, juga disebut kembali ke nol (RTZ). Contoh umum Unipolar line encoding adalahtingkat logika TTL yang digunakan dalam komputer dan logika digital.



Ekakutub line encoding bekerja baik untuk di dalam mesin mana jalur sinyal pendek tapitidak cocok untuk jarak jauh karena adanya kapasitansi stray dalam medium transmisi. 
Dijalan panjang transmisi, pergeseran tingkat konstan dari 0 volt 5 volt menyebabkan kapasitansi stray untuk mengisi ingat kapasitor pengisian formula 1-e-t/RC!). 
Akan ada efek "stray" kapasitor antara dua konduktor yang dekat satu sama lain. Paralel menjalankan kabel atau kawat adalah sangat suspectible untuk stray kapasitansi.


Jika ada cukup kapasitansi pada garis dan aliran pada 1s, komponen tegangan DC yang akan ditambahkan ke aliran data. Daripada kembali ke 0 volt, itu hanya akan kembali ke 2 atau 3 volt!.
Stasiun menerima mungkin tidak mengenali rendah digital pada tegangan volt 2!


Uincode line encoding dapat memiliki masalah sinkronisasi antara pemancar dan penerima clock osilator. 
Penerima clock osilator kunci pada level sinyal ditransmisikan bergeser (logika perubahan dari 0 ke 1).
Jika ada serangkaian panjang Logic 1s atau 0s berturut-turut. Ada adapergeseran tingkat untuk menerima osilator untuk mengunci. Menerima osilator frekuensi dapat melayang dan menjadi unsynchronized. Itu bisa kehilangan jejak dari mana penerima seharusnya untuk sampel data yang ditransmisikan!










Source:
- http://www.techbooksforfree.com/intro_to_data_com/page66.html
http://www.techbooksforfree.com/intro_to_data_com/page67.html
- http://www.techbooksforfree.com/intro_to_data_com/page65.html