Pilihan Menu

Saturday, March 22, 2014

Contoh Tugas Besar Fisika Dasar ( Fisdas ) IT Telkom

           
          Dalam mengerjakan tugas besar fisdas, alat yang di buat sebaiknya tidak terlalu rumit, mengingat waktu pengerjaannya yang cukup singkat. Bentuk aplikasi biasanya sesuai jurusan, bisa hardware maupun software, karena saya jurusan Computer Engineering maka Saya membuat simulasi pengukuran RS Hunt yang dibuat dalam bentuk flash player. 
Software yang digunakan diantaranya :

- Adobe Flash Professional Animation ( sebagai pembuat flash )
- Google 3D SkectUp ( sebagai Pemodelan Alat )
- Sony Vegas Pro 12 ( sebagai pembuat video )
- Adobe flash player ( sebagai player )

ini adalah contoh pengenalan alat laboratorium, 
yang terdapat di aplikasi tubes.

note : Jangan sampai saat presentasi gak bisa jelasin, apalagi kalo dibuatin orang !-_-! bakalan apes dah. :)

Kode VHDL Gerbang AND, NOT, NAND, NOR Gate


            Dibawah ini adalah contoh bahasa pemerograman VHDL rangkaian logika, yang terdiri dari komponen AND, NOT, NAND, dan OR. berikut adalah kode programnya:
( dapat dijalankan di modelsim atau Xilink ISE )

AND
library IEEE;
used IEEE.STD_LOGIC_1164.ALL;

ENTITY AND_Gate is
Port (I0 : in STD_LOGIC;
I1 : in STD_LOGIC;
O : out STD_LOGIC);
end AND_Gate;

architecture Behavioral of AND_Gate is
begin
PROCESS(I0,I1)
BEGIN
O <= I0 AND I1;
END PROCESS;
end Behavioral;


NOT
entity NOT_Gate is
Port ( I0 : in STD_LOGIC;
O : out STD_LOGIC);
end NOT_Gate;

architecture Behavioral of NOT_Gate is

begin
PROCESS (I0)
BEGIN
O <= NOT I0;
END PROCESS;
end Behavioral;


NAND
entity NAND_Gate is
Port ( I0 : in STD_LOGIC;
I1 : in STD_LOGIC;
O : out STD_LOGIC);
end NAND_Gate;

architecture Behavioral of NAND_Gate is

begin
PROCESS (I0,I1)
BEGIN
O <= I0 NAND I1;
END PROCESS;
end Behavioral;


NOR
entity NOR_Gate is
Port ( I0 : in STD_LOGIC;
I1 : in STD_LOGIC;
O : out STD_LOGIC);
end NOR_Gate;

architecture Behavioral of NOR_Gate is

begin
PROCESS (I0,I1)
BEGIN
O <= I0 NOR I1;
END PROCESS;
end Behavioral;

Contoh Skenario Use Case Aplikasi


Skenario Use Case
Versi Server / Admin
NO
AKSI AKTOR
NO
REAKSI SISTEM

LOGIN
Skenario Normal


1
Memasukan ID dan Password
2
3
Cek valid atau tidaknya data input
Masuk ke halaman menu Admin

Skenario Alternatif


1
Memasukan ID dan Password
2
3
4
Cek valid atau tidaknya data input ( jika tidak )
Menampilkan pesan data tidak valid
Menampilkan halaman login

REGISTRASI
Skenario Normal


1
3



7


11
Menekan tombol “ Registrasi Barang”
Memfoto QR-Code



Memasukkan data barang
( Penerima, Pengirim,lokasi,waktu,dll)

Klik tombol “Simpan”
2
4
5

6
8
9
10
12
13

Menjalankan kamera pembaca QR-CODE
Membaca dan menerjemahkan QR-Code
Memeriksa data di database (jika data belum terdaftar)
Menampilkan form registrasi data
Mencatat data kiriman
Validasi data kiriman
Menampilkan tombol “simpan”
Menyimpan data ke database
Menampilkan pesan “Data telah disimpan”
Menampilkan Halaman Menu Admin

Skenario Alternatif


1




6
Memfoto QR-Code




Memasukkan data barang
( Penerima, Pengirim,lokasi,waktu,dll)
2
3

4
5
7
8
9
10
Membaca dan menerjemahkan QR-Code
Memeriksa data di database (jika data telah terdaftar)
Menampilkan pesan “Barang telah terdaftar”
Menampilkan Halaman menu Admin
Mencatat data kiriman
Validasi data kiriman ( jika tidak valid )
Menampilkan pesan “Tidak valid”
Tidak menampilkan tombol “simpan”

UPDATE BARANG
Skenario Normal


1
3




7


11
Menekan tombol “ Update Barang”
Memfoto QR-Code




Memasukkan data update status barang


Klik tombol “Update”


2
4
5

6

8
9
10
12
13
14
Menjalankan kamera pembaca QR-CODE
Membaca dan menerjemahkan QR-Code
Memeriksa data di database (jika data telah terdaftar)
Menampilkan form update status barang
( Lokasi , notice, estimasi sisa waktu )
Mencatat data kiriman
Validasi data kiriman
Menampilkan tombol “Update”
Menyimpan dan mengupdate data ke database
Menampilkan pesan “Data telah diupdate”
Menampilkan Halaman Menu Admin


Skenario Alternatif


1





6


Memfoto QR-Code





Memasukkan data update status barang



2
3
4

5

7
8
9
10
Membaca dan menerjemahkan QR-Code (jika tidak)
Kembali ke poin 1.
Memeriksa data di database (jika data tidak terdaftar)
Menampilkan form registrasi barang
( Lokasi , notice, estimasi sisa waktu )
Mencatat data kiriman
Validasi data kiriman (jika tidak valid)
Menampilkan pesan “Data tidak Valid”
Tidak menampilkan tombol kirim

LAPORAN PELANGGAN
Skenario Normal


1


4
6


10

Mengklik tombol “ Laporan Pelanggan “


Mengklik tombol “Tanggapi”
Memasukkan tanggapan


Mengklik tombol “ Kirim“

2
3

5
7
8
9
11
12
Memeriksa data komplan pelanggan di database
Menampilkan data komplan pelanggan dan tombol “Tanggapi”
Menampilkan form “tanggapi komplan”
Mencatat data tanggapan
Validasi data tanggapan
Menampilkan tombol kirim
Menyimpan dan mengirim data ke database
Menampilkan data komplan pelanggan lainnya

Skenario Alternatif


1


4
Mengklik tombol “ Laporan Pelanggan “


Memasukkan tanggapan
2

3
5
6
7
8
Memeriksa data komplan pelanggan di database
(jika tidak ada)
Menampilkan pesan “Tidak ada komplan”
Mencatat data tanggapan
Validasi data tanggapan (jika tidak valid)
Menampilkan pesan “Data tidak Valid”
Tidak menampilkan tombol kirim ( disable )

PREDIKSI KETERLAMBATAN
Skenario Normal


1
3




7


11
Menekan tombol “Prediksi Keterlambatan”
Memfoto QR-Code




Memasukkan alasan keterlambatan


Klik tombol “Kirim”

2
4
5

6

8
9
10
12
13
14
Menjalankan kamera pembaca QR-CODE
Membaca dan menerjemahkan QR-Code
Memeriksa data di database (jika data telah terdaftar)
Menampilkan form input keterlambatan
( Alasan, dll )
Mencatat data keterlambatan
Validasi data keterlambatan
Menampilkan tombol kirim
Menyimpan dan mengrim data ke database
Menampilkan pesan “Data telah diupdate”
Menampilkan Halaman Menu Admin

Skenario Alternatif


3








9


Memfoto QR-Code








Memasukkan alasan keterlambatan


4

5
6

7
8


10
11
12
Membaca dan menerjemahkan QR-Code(Jika tidak terbaca)
Menampilkan pesan “kode tidak terbaca”
Memeriksa data di database (jika data belum terdaftar)
Menampilkan pesan “Data Barang tidak ditemukan”
Manampilkan halaman menu Admin


Mencatat data keterlambatan
Validasi data keterlambatan ( jika tidak valid )
Tidak menampilkan tombol kirim
VERSI CLIENT

NO


AKSI AKTOR
NO
REAKSI SITEM

TRACKING BARANG
Skenario Normal



1
3



Mengklik tombol “Telusuri Barang”
Memfoto QR-Code


0
2
4
5
6
Menu Utama Aplikasi
Menjalankan kamera pembaca QR-Code
Membaca dan menerjemahkan QR-Code
Memeriksa data ke database server
Menampilkan status dan lokas barang

Skenario Alternatif


1


Memfoto QR-Code
*(kode tidak terbaca)

2

3
4
Membaca dan menerjemahkan QR-Code ( jika tidak terbaca)
Menampilkan pesan “Kode tidak terbaca”
Menampilkan Halaman Utama
1


Memfoto QR-Code
*(tidak ada data di database)

2
3
4
5
Membaca dan menerjemahkan QR-Code
Memeriksa data ke database server (jika tidak ada)
Menampilkan pesan “ Data tidak ditemukan”
Menampilkan Halaman Utama

KOMPLAIN
Skenario Normal


1
3


7


11
Mengklik tombol “Komplan”
Memfoto QR-Code


Memasukkan data komplan


Mengklik tombol “Kirim”
2
4
5
6
8
9
10
12
13
Menjalankan kamera pembaca QR-Code
Membaca dan menerjemahkan QR-Code
Memeriksa data ke database server
Menampilkan form komplan
Mencatat data komplan
Validasi data komplan
Menampilkan tombol kirim
Menyimpan dan mengirim data ke database
Menampilkan halaman menu utama

Skenario Alternatif


1
3



7

10
Memfoto QR-Code




Memasukkan data komplan



2
3
4
5
6
8
9
10
11
Membaca dan menerjemahkan QR-Code ( jika tidak error)
Menampilkan pesan “ Kode tidak terbaca “
Memeriksa data ke database server ( jika tidak ada )
Menampilkan pesan “ Data tidak ditemukan “
Mencatat data komplan
Validasi data komplan (jika tidak valid)
Menampilkan pesan “ Data tidak Valid “
Tidak menampilkan tombol kirim






Created : Rizal Hidayatulloh ( 1104120046 ), Computer Engineering - Telkom University

VHDL Input 8 Bit to 4 Bit BCD Seven Segment


Rangkaian Logika dengan bahasa VHDL,
contoh soal:
"Write the behavioral VHDL code for converting an 8-bit unsigned binary number to two 4-bit BCD numbers. These two BCD numbers represent the tenth and unit digits of a decimal number. Also, turn on the decimal point LED for the unit digit if the 8-bit binary number is in the one hundreds range, and turn on the decimal point LED for the tenth digit if the 8-bit binary number is in the two hundreds range. This circuit is used as the output circuit for many designs in later chapters."

Jawabannya :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Tugas2 is
    Port ( 
                   number   : in  std_logic_vector (7 downto 0);
      hundreds : out std_logic_vector (6 downto 0);
      tens     : out std_logic_vector (6 downto 0);
      ones     : out std_logic_vector (6 downto 0)
                                );
end Tugas2;

architecture Behavioral of Tugas2 is
signal ratusan,puluhan,satuan : STD_LOGIC_VECTOR (3 downto 0);
begin
   bin_to_bcd : process (number)
      -- Internal variable for storing bits
      variable shift : unsigned(19 downto 0);

      -- Alias for parts of shift register
      alias num is shift(7 downto 0);
      alias one is shift(11 downto 8);
      alias ten is shift(15 downto 12);
      alias hun is shift(19 downto 16);
   begin
      -- Clear previous number and store new number in shift register
      num := unsigned(number);
      one := X"0";
      ten := X"0";
      hun := X"0";

      -- Loop eight times
      for i in 1 to num'Length loop
         -- Check if any digit is greater than or equal to 5
         if one >= 5 then
            one := one + 3;
         end if;

         if ten >= 5 then
            ten := ten + 3;
         end if;

         if hun >= 5 then
            hun := hun + 3;
         end if;

         -- Shift entire register left once
         shift := shift_left(shift, 1);
      end loop;
      -- Push decimal numbers to output
      ratusan     <= std_logic_vector(hun);
      puluhan     <= std_logic_vector(ten);
      satuan      <= std_logic_vector(one);
   end process;
               
                                PROCESS (ratusan) --seven segmen 1
                begin
                case  ratusan is
                when "0000"=> hundreds <="0000001";  -- '0'
                when "0001"=> hundreds <="1001111";  -- '1'
                when "0010"=> hundreds <="0010010";  -- '2'
                when "0011"=> hundreds <="0000110";  -- '3'
                when "0100"=> hundreds <="1001100";  -- '4'
                when "0101"=> hundreds <="0100100";  -- '5'
                when "0110"=> hundreds <="0100000";  -- '6'
                when "0111"=> hundreds <="0001111";  -- '7'
                when "1000"=> hundreds <="0000000";  -- '8'
                when "1001"=> hundreds <="0000100";  -- '9'
                when others=> hundreds <="1111111";
                end case;
                end process;
               
                PROCESS (puluhan) --seven segmen 2
                begin
                case  puluhan is
                when "0000"=> tens <="0000001";  -- '0'
                when "0001"=> tens <="1001111";  -- '1'
                when "0010"=> tens <="0010010";  -- '2'
                when "0011"=> tens <="0000110";  -- '3'
                when "0100"=> tens <="1001100";  -- '4'
                when "0101"=> tens <="0100100";  -- '5'
                when "0110"=> tens <="0100000";  -- '6'
                when "0111"=> tens <="0001111";  -- '7'
                when "1000"=> tens <="0000000";  -- '8'
                when "1001"=> tens <="0000100";  -- '9'
                when others=> tens <="1111111";
                end case;
                end process;
               
                PROCESS (satuan) --seven segmen 3
                begin
                case  satuan is
                when "0000"=> ones <="0000001";  -- '0'
                when "0001"=> ones <="1001111";  -- '1'
                when "0010"=> ones <="0010010";  -- '2'
                when "0011"=> ones <="0000110";  -- '3'
                when "0100"=> ones <="1001100";  -- '4'
                when "0101"=> ones <="0100100";  -- '5'
                when "0110"=> ones <="0100000";  -- '6'
                when "0111"=> ones <="0001111";  -- '7'
                when "1000"=> ones <="0000000";  -- '8'
                when "1001"=> ones <="0000100";  -- '9'
                when others=> ones <="1111111";
                end case;
                end process;
               

end Behavioral;