Error Code | be a true student

Pages

Subscribe:
No.ProdukBeli
1. Beli... klik di sini

Minggu, 28 September 2014

Perintah-perintah dasar Linux

Sistem operasi merupakan hal yang paling vital pada suatu sistem komputer, jika sebuah konfigurasi sistem komputer tidak ada sistem operasi maka tidak akan jalan. Pada hakikatnya sistem operasi merupakan perangkat lunak yang bekerja mengatur resource dan interface antara brainware dengan hardware. Dengan sistem operasi kite dimudahkan untuk memasang aplikasi-aplikasi utilitis maupun aplikasi service. Ada beberapa macam sistem operasi sesuai kebutuhannya sistem operas untuk networking seperti router dan switch, sistem operasi untuk webservice dll. silahkan kunjungi di sini  Jenis-Jenis sistem operasi jaringan
Salah satu hal yang perlu diperhatikan pertama kali adalah user interface, Linux menyediakan bebrapa interface untuk memudahkan user atau admin jaringan dalam mengkonfigurasi sistem yang dibuat. interface tersebut ada yang berupa Grahical UI (GUI) dan ada yang Command Line Interface (CLI). 
Pada kali ini saya akan fokus pada perintah CLI untuk yang GUI saya kira sudah lebih mudah silahkan di lihat di sini 
Ada beberapa perintah-perintah dasar linux. Yang namanya perintah dasar adalah perintah yang sangat dasar dan dapat berjalan disemua distro linux.
  1. man 
    perintah untuk menampilkan manual dari suatu perintah. Cara untuk menggunakannya adalah dengan mengetikkan mandiikuti dengan perintah yang ingin kita ketahui manual pemakaiannya.
    contoh : man ls
  2. apt-get install
    untuk menginstall aplikasi di linux, sebagian keluarga linux yang menggunakan  adalah debian dan turunannya. Contoh untuk menginstall aplikasi apache
    contoh : apt-get install apache2
  3. apt-get updateUntuk mengecek pembaruan dari aplikasi yang terinstall di linux
    contoh : apt-get update
  4. apt-get upgrade
    Untuk memperbarui aplikasi di linux, biasanya digunakan setelah apt-get update
    contoh : apt-get upgrade
  5. cat
    untuk menampilkan isi dari sebuah file di layar. Missalkita menampilkan file yang berada di direktori home dibawah user very.
    contoh : cat /home/roziq/coba.txt
  6. cd
    untuk membuka folder atau direktori tertentu. Missal kita hendak membuka direktori very yang berada di bawah direktori home
    contoh : cd /home/roziq
  7. cd ..
    untuk menutup direktori yang dibuka menggunakan perintah cd tadi dan ingin menuju direktori diatasnya
    contoh : root:~/home/roziq#cd ..
  8. cp
    untuk mengcopy file atau folder. Missal kita hendak mengcopy file yang berada di /home/roziq/coba.txt menuju /home/
    contoh : KangPhery:~#cp /home/very/coba.txt /home/ Maksud dari perintah diatas bahwa file coba.txt akan dicopy ke direktori /home. Antara /home/very/coba.txt dan /home/ terdapat spasi dalam penulisan perintah ini. Perintah diatas digunakan untuk mengcopy file sedangkan jika kita hendak mengcopy folder perintahnya adalah:
    KangPhery:~#cp -r /home/very/ /var/www/
  9. halt
    perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown
    contoh : KangPhery:~#halt
  10. reboot
    perintah ini digunakan untuk restart system
    contoh : KangPhery:~#reboot
  11.  ls
    untuk menampilkan isi dari sebuah direktori seperti perintah dir di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya dilayar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden (filetanpa awalan tanda titik) secara alphabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang
    KangPhery:~$ls
    Jika kita ingin menampilkan juga ijin aksesnya bisa digunakan perintah:
    KangPhery:~$ls –l
  12. mkdir
    perintah untuk membuat folder atau direktori
    KangPhery:~$mkdir very
  13. mv
    untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah  direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen  kecuali argumen terakhir berupa sebuah direktori
    contoh : KangPhery:~#mv coba.txt
  14. nano 
    salah satu editor di linux, seperti halnya notepad di windows. Contoh untuk mengedit suatu file
    KangPhery:~#nano /etc/network/interfaces
  15. pico
    sama seperti nano, Untuk menyimpan hasil edit suatu file dari perintah nano dan pico diatas bisa Menggunakan ctrl +x  kemudian tekan y dan dilanjutkan enter
  16. pwd
    singkatan dari Print working directory yang digunakan untuk menampilkan nama direktori  dimana Anda saat itu sedang berada
    KangPhery:~$pwd
  17. rm atau remove
    digunakan untuk menghapus file. Secara default, tidak menghapus direktori. Contoh
    KangPhery:~$rm /home/very/coba.txt
    Perintah diatas digunakan untuk menghapus file jika menginginkan menghapus folder yang ada isinya  perintahnya adalah:
    KangPhery:~$rm -r /home/very/
  18. rmdir atau remove directory(ies)
    digunakan menghapus direktori, apabila kosong
    KangPhery:~$rmdir /home/very/ 
  19. su
    untuk login sementara sebagai user lain. Bila user ID tidakdisertakan maka 3ember3r menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu Memiliki  password maka Anda harus memasukkan passwordnya denganbenar. Tapi bila Anda adalah root maka Anda  dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.
    KangPhery:~$su
    Setelah mengetikan perintah diatas maka kita diminta memasukanpassword root
  20. sudo su
    perintah untuk login sebagai super user atau root,bedanya dengan perintah su adalah, bahwa sudo su login ke root menggunakan password dari user biasa. Missal user kita bernama very
    contoh :
    very@KangPhery:~$sudo suSetelah mengetikan perintah diatas maka kita diminta memasukanpassword user very
Untuk perintah-perintah advance bisa di lihat di bawah ini
The One Page Linux Manual
Selanjutnya ... Konfigurasi Ip Address dengan CLI
reference :
buku Administrasi Server Dalam Jaringan Menggunakan Linux Debian 6
Buku TKJ XI-1
referensi : http://roziq.com/perintah-perintah-dasar-linux-dan-konfigurasi-ip-address-cli/


silahkan lihat ini :

http://videonem.com/configure/

Lanjut baca - Perintah-perintah dasar Linux

Kamis, 21 Maret 2013

test Open GL dan free glut


iseng2 maenan GLUT
caramnya pake codeblocks
1. download codeblocksnya kalo belm punya di sini http://goo.gl/sg6GZ
2. kemudian download free glutnya di http://goo.gl/nvjqz
3. kemudian unzip rarnya dan copy isi masing di C:\Program Files (x86)\CodeBlocks\MinGW
kan di dalam rar ada isinya lib , include dan bin
copy masing isi dari folder tersebut untuk lib di C:\Program Files (x86)\CodeBlocks\MinGW\lib
untuk include/GL di folder C:\Program Files (x86)\CodeBlocks\MinGW\include\GL

4. setelah itu buka codeblocks dan buat project baru tentunya yang c++ caranya berikut : file -> new -> empty project -> pilih direktory -> namai projectnya .
5. setelah itu klik project kamu di workspace pilih file->new->file empty namai project kamu dengan main.cpp.

6. setalh itu coba source code berikut
#include <GL/glut.h>

void renderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.5f, 0.0f);
glVertex2f(0.0f, 1.0f);
glEnd();

glutSwapBuffers();
}

int main(int argc, char *argv[])
{
//glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(320, 320);
glutCreateWindow("GLUT 1st program");
glutDisplayFunc(renderScene);

glutMainLoop();

return 0;
}
7. sebelum di compile lakukan configurasi, caranya klik menu project di bar menu, pilih build option -> klik pada project kamu (inget project kamu jgn debug atau realis) -> selanjutnya pilih linker setting -> klik add ketik "libfreeglut" dan add lagi ketik "libopengl32" setelah itu OK
8. silahkan compile atau build project kamu sudah gak error kan??
9. selanjutnya balik ke RAR yang sudah di extract tadi copy file dynamic link library di folder bin yaitu file "freeglut.dll" ke folder debug atau releas dimana program dot exemu berada.
10. kalo sudah kamu copy coba run program kamu
hasilnya seperti berikut


Lanjut baca - test Open GL dan free glut

Conceptual Model Computer Graphic (kopsep komputer grafik)

pada kali ini kita membahas bagaimana cara atau tahapan-tahapan yang harus dilakukan untuk membuat komputer grafik. secara garis besarnya adalah :
  1. application model
  2. application program
  3. graphic system
  4. graphic display
  5. input device
application model adalah deskripsi dari apa yang mau kita buat yaitu terdiri dari mulai bentuk dasarnya, sampai ke bentuk yang kompleks. kita menuangkan deskripsi ini dalam bentuk source code program aplikasi.
application program adalah program aplikasi yng kita buat dari descripsi tadi, atau dapat juga di bilang ini adalah hasil dari apa yang kita buat melalui source code.
graphic system  adalah merupakan library dari graphic processor yang kita gunakan misalnya open GL, directx dll.
graphic display adalah output dari display komputer misalnya LCD (liquid crystal display),OLED(Organic Light Emiting Diode), CRT(cathode ray tube), plasma ,dll.
input device adalah perangkat inputan kita bisa mouse toucepad, dan sebagainya.
Lanjut baca - Conceptual Model Computer Graphic (kopsep komputer grafik)

ip address, subnet mask, network id, host id

IP versi 4

Dalam kali ini kita akan menganalisis IP V 4 dalam ip ada beberapa istilah yaitu , IP Address, subnet mask, default gateway, DHCP Server, DNS server, Network ID, Host ID.
IP Address adalah alamat yang didapat oleh client dari server untuk dapat terhubung dan melakukan hubungan antra client dengan server dan client lainnya yang terhubung dengan server yang mana network id nya sama. Contoh IP adalah 192.168.21.129 dalam binnernya adalah 11000000.10101000.00010101.10000001.

Biasanya terdapat penulisan ip address 192.168.21.129/25. Ini berarti 25 itu menunjukkan network ID dan dapat menentukan banyaknya client yang dapat masuk dengan network id tersebut. Perhitungannya adalah jumlah dari berapa banyak angka biner dari kiri kalo contoh di atas adalah /25 berarti dihitung banyak biner dari kiri ke kanan sampai ke 25 setelah itu adalah sisanya 11000000.10101000.00010101.10000001. angka yang berwarna merah menunjukkan jumlah dari 25 tersebut. Sisanya adalah jumlah client yang dapa ditampung oleh server tersebut. Dalm hal ini berarti sisa bilangan binernya adalah sebanya 7 berarti 2^7 kombinasi client atau sama dengan 128 client dikurangi network sama broadcast.

Default gateway adalah gerbang yang harus dilewati ketika salah satu client mengakses jaringan luar.
DHCP server adalah pembagi IP address.

Subnet mask menunjukkan berapa banyak client yang dapat ditampung misalnya 255.255.255.0 berarti yang dapat ditampung adalah 2^8 client atau sebanyak 255 client. Misalnya lagi 255.255.0.0 berarti ada sebanya 2^16 kombinasi client yang dapat ditampung.

DNS (Domain Name Server) adalah merupakan alamat dari server yang memberikan layanan. Biasanya DNS ini ada di domain web.

Network ID adalah angka IP Address yang sama antara client satu dengan client yang lainnya agar bisa saling berhubungan. cara untuk mengetahui network id adalah dengan cara IP(binary) AND  Subnet Mask hasilnya adalah NETWORK ID. Misalnya : ipnya 192.168.21.129 dan subnet masknya adalah 255.255.255.0
Maka network ID adalah 192.168.21.129(jadikan biner) AND 255.255.255.0 (jadikan biner) hasilya adalag
IP                      :11000000.10101000.00010101.10000001
Subnet mask      :11111111.11111111.11111111.00000000  AND
Network ID        :11000000.10101000.00010101.00000000 (192.168.21.0)
Jadi network id itu ditentukan oleh subnet masknya    
  
Selain network id ada lagi satu yaitu HOST ID adalah yang dapat menunjukkan berapa client yang dapat masuk pada jaringan tersebut. Untuk mengetahui host ID caranya adalah IP(binary) XOR Subnet Mask hasilnya adalah HOST ID. Misalnya : ipnya 192.168.21.129 dan subnet masknya adalah 255.255.255.0.
Atau dapat di hitung 2^y -2 dimana y adalah jumlah angka 0 yang ada di subnet mask. Kalo dalam hal ini adalah 8 berarti 2^8 = 255-2 = 253. Dimana dikurangi network dan broadcast ID
Lanjut baca - ip address, subnet mask, network id, host id

Selasa, 19 Maret 2013

Fungsi keanggotaan


Fungsi Keanggotaan (Membership Function )
Adalah kurva yang menunjukkan titik input data kedalam drajat keanggotannya yang memiliki rentang antara 0 samapi dengan 1. Untuk mendapatkan nilai dari keanggotaan tersebut agar tidak berbentuk fuzzy (kabur) dan kita membutuhkan nilai yang pasti untuk mengolah data maka kita menggunakan pendekatan fungsi agar dapat diolah menggunakan komputer dalam bentuk persamaan matematis.
Ada beberapa fungsi keanggotaan yang mungkin dapat kita gunakan :

  1. Linier
  2. Segitiga
  3. Trapezium
  4. Bentuk bahu
  5. Bentuk S
  6. Bentuk Lonceng
  7. Koordinan keanggotaan

1.       LINIER
Ada dua macam jika kita menggunakan kurva linier ykni linier naik dan linier turun
Berikut ini adalah representasi dari kurva linear naik
Gambar sisip 1
Gambar 1. Fungsi keanggotaan linier naik
Jika kita menggunakan kurva nai maka untuk mendapatkan drajat keanggotaan kita harus menggunakan rumus dasar fungsi berikut
Gambar sisip 22

jika x (data yang kita masukkan ) kurang dari atau sama dengan a sudah pasti Gambar sisip 24,dan jika  Gambar sisip 25 untuk mendapatkan nilai pasti Gambar sisip 26 dengan cara (x-a) / (b-a) sedangkan jika x lebih dari  maka pasti nilainya adalah satu.
Setelah linier naik ada juga yaitu linier turun, representasinya seperti berikut ini

Gambar sisip 21
Gambar 2. Linier turun
Untuk melakukan pengambilan data digunakan menggukan formula sebagai berikut
Gambar sisip 20

1.      Segitiga
Kurva segitiga merupakan kontruksi dari kurva linier naik dan turun. Berikut ini adalah gambarnya                                                                  Gambar sisip 19
Gambar 3. Kurva segitiga


Sama sepertisebelumnya karena ini menggunakan 2 kurva linier yaitu linier naik dan turun. Jika digabungkan maka hasil formula yng terbentuk adalah seperti berikut ini.
Gambar sisip 18

Contoh : jika a = 1, b= 3, c=6 dan x = 0.5 . dalam contoh ini x berarti kurang dari a maka Gambar sisip 17
2.      Trapesium
Trapezium juga terbentuk dari gabungan dari kurva linier namun untuk yang berdrajat 1 terdapat rentang antara b sampai dengan c. berikut adalah representasi dari kurva trapezium :
Gambar sisip 16
Gambar 4. Kurva trapezium
Untuk mendapatkan drajat keanggotaannya kita menggunakan rumus di bawah ini, ini merupakan perkembangan dari kurva linier.

 Gambar sisip 15




3.      kurva dalam bentuk bahu
representasi dalam bentk bahu ini adalah dimana daerah tengan suatu variable yang direpresentasikan dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun (misalkan : DINGIN begerak ke SEJUK bergerak ke HANGAT dan bergerak ke PANAS). Tetapi terkadang salah satu sisi dari variable tersebut mengalami perubahan. Sebagai contoh apabila telah mencapai kondisi PANAS, kenaikan temperature akan tetap berada pada kondisi PANAS. Himpunan fuzzy banu, bukan segitiga, digunakan untuk mengakhiri variable suatu daerah fuzzy. Bahu kiri bergerak dari benar kesalah, demikian juga bahu kanan bergerak dari salah ke benar
Gambar sisip 14
Gambar 5. Kurva bahu.
4.      Kurva S
Kurva S merupakan kurva pertumbuhan dan penyusutan atau sigmoid yang berhubungan dengan kenaikan dan penurunan permukaan tak linier. Konsepnya dapat kita analogikan dengan kurva linier naik dan turun. Di kurva S juga terdapat dua macam yaitu kurva S naik dan kurva S turun.
Kurva S untuk pertumbuhan akan bergerak dari sisi paling kiri (nilai keanggotaan = 0) ke sisi paling kanan (nilai keanggotaan = 1). Fungsi keanggotannya akan bertumpu pada 50% nilai keanggotannya yang sering disebut dengan titik infleksi.
Gambar sisip 13
Gambar 6. Kurva S naik
Formulanya adalah berikut :
Gambar sisip 12
Gamabar 7. Formula kurva S turun
Kurva S penyusutan akan bergerak dari sisi paling kanan (nilai keanggotaan = 1) ke sisi paling kiri (nilai keanggotannya = 0).
Gambar sisip 11
Gambar 9. Kurva S turun
Formulanya adalah sebagai berikut :
Gambar sisip 10
Gambar 10. Formula kurva S turun
Kurva S didefinisikan dengan menggunakan 3 parameter yaitu :
-          Nilai keanggotaan nol (a)
-          Nilai keanggotaan lengkap (y)
-          Titik infleksi atau crossover (p) yaitu titik yang memiliki domain 50% benar.
Gambar sisip 9
Gambar 11. Parameter kurva S
5.      Representasi kurva bentuk lonceng
Ada tiga jenis yaitu
Ckurva Pi, beta dan gauss
Kurva pi berbentuk lonceng dengan drajat keanggotaan 1 terletak pada pusat dengan domain (y), dan lebar kurva (beta)/.
Gambar sisip 8
Gambar 12. Kurva bentuk lonceng pi
Fungsi keanggotaan untuk kurva lonceng untuk fungsi keanggotaan kurva pi adalah sebagai berikut ini
Gambar sisip 7
Gambar 13. Formula kurva pi bentuk lonceng
Beriktu ini adalah kurva BETA, kurva BETA juga seperti halnya kurva PI, terbentuk dari lonceng namun lebih rapat. Kurva BETA juga mendefinisikan 2 parameter, yaitu nilai pada domain yang menunjukkan pusat kurva (Y), dan sengah lebar BETA
Gambar sisip 6
Gambar 14. Kurva lonceng bentuk BETA
Fungsi keanggotaannya adalah sebagai berikut ini:
Gambar sisip 5
Gambar 15. Formula untuk kurva bentuk lonceng BETA
Kurva gauss juga menggunakan (y) untuk menunjukkan nilai domain pada pusat kurva, dan (k) yang menunjukkan lebar kurva
Gambar sisip 4

                      Gambar 16. Kurva bentuk lonceng gauss
Berikut ini adalah fungsi keanggotaan dari kurva lonceng gauss

Gambar sisip 3
Lanjut baca - Fungsi keanggotaan

Rabu, 02 Januari 2013

OOP (Object Oriented Programing)

OOP (Object Oriented Programing) atau pemrograman berorientasi objek adalah konsep dari suatu pemrograman yang menganggap semuanya adalah objek. Kita memandang suatu masalah yang nanti temen temen mau buat programnya segala entitasnya adalah objek.
Pada matakuliah OOP saya mempelajarinya dengan menggunakan bahasa JAVA ayo kita ngopi.
Tentang Objek
Objek adalah representasi sebuah item, unit, atau entitas individu yang dapat di identifikasi baik real maupun abstrak. Maksudnya segala sesuatu yang dapat kita rinci masing-masing komponen atau apapun itu dapat dikatakan sebagai objek. 
Dalam Objek terdapat dua komponen yaitu Atribut dan Operasi. Atribut adalah data dalam sistem maksudnya yang melekat pada suatu objek itu disebut atribut. Misal objeknya adalah manusia, manusia mempunyai atribut tangan, baju, kaki, jenis kelamin, rambut dan lain lain. Sedangkan Operasi adalah fungsi yang dipunyai oleh objek tersebut, fungsi ini sering disebut method. Sekarang kita sebut fungsi dengan method ya?. Contoh Method yang dimiliki oleh objek Manusia adalah Makan, Berjalan, Berlari, Menulis dan lain sebagainya. 
beberapa kegunaan Method di antaranya :

  1. Dapat memanipulasi atribut dalam sebuah kelas
  2. Dapat memanggil operasi lain dalam kelas yang lain
  3. Mengirim dan menerima informasi/pesan sebagai parameter.


sudah jelas sampai disini??

oke kita lanjut.

Sekumpulan objek-objek yang sama disebut kelas (class). Semua objek dalam suatu kelas memiliki atribut dan operasi yang sama, tetapi nilai atribut dapat berbeda. Suatu objek tertentu merupakan instance sebuah kelas. Instance adalah buatan dari class, misalnya kit membuat object macan dari class hewan.


Dunia terbuat/tersusun atas objek. Kita tahu tentang objek memiliki attributes. Kita dapat melakukan sesuatu pada objek yaitu karena memiliki operations/Method. Kadang melakukan sesuatu pada objek untuk mengubah atribut-nya. Objek dapat terbuat dari objek yang lebih kecil.Kita dapat mengerti objek besar dengan mengerti bagian-bagian pembentuknya. Objek bekerjasama dengan objek lain untuk mencapai suatu maksud / tujuan.


  1. Dunia terbuat/tersusun atas objek..
    -BUKU
  2. Kita tahu tentang objek (attributes)
    -Judul, pengarang, jumlah halaman, ukuran, ISBN
  3. Kita dapat melakukan sesuatu pada objek
    -Merobek halaman, membacanya
  4. Kadang melakukan sesuatu pada objek mengubah atribut-nya..
    -Mengurangi jumlah halaman, merubah harga, 
  5. Objek terbuat dari objek-objek yang lebih kecil
    -Halaman, cover, index
  6. Kita dapat mengerti objek besar dengan mengerti bagian-bagian pembentuknya..
    -Perpustakaan, periodical, jurnal, buku, e-media
  7. Objek bekerjasama dengan objek lain untuk mencapai suatu maksud / tujuan
    -Pengarang, penerbit, pembaca, buku, perpustakaan

Pada konsep OOP bahwa kita menganggap segala sesuatu adalah objek. Jika kita membuat sistem maka pandangan kita adalah suatu sistem tersebut terbentuk dari kumpulan beberapa objek yang saling berinteraksi. 
Sifat dari OOP adalah modularity. Objek ditulis dan di mainten terpisah dari objek lain. Contoh objek Mobil, Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem  pengereman.

Pada Konsep OOP ada tiga sifat yang dimiliki yaitu
  1. Encapsulation
    Konsep OOP adalah penyembunyian, maksudnya user tidak perlu tau kerumitan dari susunan sistem tersebut, user hanya cukup tau cara untuk menggunakan sistem tersebut. Contoh AC. AC memiliki operasi / Method ON, OFF dan Pengatur suhu AC. User hanya cukup tahu bagaimana Meng-ON kan AC ataupun meng-OFF kan, user tidak perlu tahu apa yang terjadi dibalik semua itu.
  2. Inheritance
    Konsed ini adlah bahwa suatu objek dapat memiliki atau mewarisi seluruh atribut maupun operasi yang dimiliki oleh suatu objek lain yang lebih besar. misalnya objek Bicycle turunannya adalah mountain bike, Racing bike, tandem bike.
  3. Polymorphism
    Konsep ini adalah objek memiliki banyak bentuk namun memiliki bagian pola yang sama . Misalnya Class bentuk, suatu bentuk memiliki luas, yang termasuk dari class bentuk adalah Lingkaran, persegi, segitiga dll, semua itu memiliki LUAS.







Lanjut baca - OOP (Object Oriented Programing)

Persamaan Perbedaan Filter Iir, Filter Fir Dan Konvolusi


Pada praktikum kali ini kita akan membahas mengenai perbedaan dan persamaan antara IIR (Infinite Impulse Respone), FIR (Finite Impulse Respone) dan konvolusi.
Sebelum kita membahas mengenai IIR terlebih dahulu kita melihat tentang transformasi Z
Gambar sisip 1
untuk transformasi z dapat langsung menggunakan rumus tersebut, transformasi Z adalah mentransformasi dari sinyal waktu diskrit domain waktu menjadi domain frekuensi.
Transformasi Z rasional memiliki pole dan zero, pole adalah harga Z yang menyebabkan   X[z] bernilai Gambar sisip 6   . Sedangkan harga Zero adalah harga Z yang menyebabkan X[z]= 0.
Fungsi rasionalnya adalah
 Gambar sisip 2
Fungsi zero-polenya adalah
Gambar sisip 3
Fungsi All Pole adalah fungsi yang membuat nilai X[z] bernilai Gambar sisip 11, berapapun angkanya jika di bagi 0 akan hasilnya tak hingga berarti fungsi untuk pole adalah bagian penyebut yaitu
Gambar sisip 4
 Fungsi All Zero adalah fungsi yang membuat nilai dari X[z] bernilai 0, berapapun penyebutnya jika yang dibagi adalah 0 maka hasilnya akan selalu 0 oleh karena itu sistem ini menggunakan rumus
 Gambar sisip 5
Jika kita menggunakan perhitungan biasa hasilnya adalah sebagai berikut
Terdapat inputan x[n]={4,3,2,1}, b={1,2,3},c={1,0,0,1}
Gambar sisip 7
Gambar sisip 8
Gambar sisip 9
Gambar sisip 10
Y[n]= b0 x[n]+b1 x[n-1] +b2 x[n-2] ]-a1 y[n-1] -a2 y[n-2] -a3 y[n-3]
Y[n]= x[n]+2 x[n-1] +3 x[n-2] ]-0 y[n-1] -0 y[n-2] -1 y[n-3]            
Proses IIR Filtering
Y[0]= 4+2 .0 +3 .0-0 .0-0 .0 -1 .0=4
Y[1]= 3+2 .4 +3 .0-0 .0-0 .0 -1 .0=11
Y[2]= 2+2 .03+3 .4-0.11-0 .0 -1 .0=20
Y[3]= 1+2 .2+3 .3-0.20 -0.11 -1.4=10
Y[n]={4,11,20,10}
Proses Fir (b,1,x) a tidak digunakan
Y[0]= 4+2 .0 +3 .0=4
Y[1]= 3+2 .4 +3 .0=11
Y[2]= 2+2 .03+3 .4 =20
Y[3]= 1+2 .2+3 .3=14
Y[n]={4,11,20,10,14}
Convolusi(xn,b);
Y[0]= 4+2 .0 +3 .0=4
Y[1]= 3+2 .4 +3 .0=11
Y[2]= 2+2 .03+3 .4 =20
Y[3]= 1+2 .2+3 .3=14
Y[4]= 0+2 .1+3 .2 =8
Y[5]= 0+2 .0+3 .1=3
Y[n]={4,11,20,10,14,8,3}
Kita sudah mencoba untuk menghitung manual tentnag IIR, FIR dan konvolusi apakah hasilnya sama dengan penghitungan menggunakan computer. Berikut adalah hasilnya
xn=[4,3,2,1]
b=[1:3]
a=[1,0,0,1]
%IIR
y=filter(b,a,xn)
%FIR
y1=filter(b,1,xn)
%konvolusi
y2=conv(xn,b)
%hasilnya
y =

     4    11    20    10

y1 =

     4    11    20    14

y2 =

     4    11    20    14     8     3

Yang membedakan antar IIR, FIR dan konvolusi adalah :
1.      IIR masukannya 4 indeks keluarannya juga 4 indeks, begitu juga FIR namun tidak terdapat nilai dari a karena merupakan pole system. Sedangkan konvolusi hasilnya adalah panjangnya jumlah indeks inputan pertama di tambah inputan kedua dikurang 1.
2.      Pada penghitungan kalo IIR dia dikurang dengan penyebutnya juga namun untuk konvolusi dan FIR dia tidak.
3.      IIR merupakan tak terbatas nilainya dan digunakan ketika tidak memedulikan karakteristik linier, sedangkan FIR diperlukan.
Lanjut baca - Persamaan Perbedaan Filter Iir, Filter Fir Dan Konvolusi

TRANSFORMASI FOURIER DISKRIT DENGAN FAST FOURIER TRANSFORM SERTA ALIASING


Bismillah, Asslamualaikum
Pada praktikum kali ini kita akan mempelajari Transformasi Fourier Diskrit (Discret Fourier Transform) menggunakan metode fast fourier transform.
Cos dan sinus dapat di jabarkan sebagai berikut :
Gambar sisip 2
diatas merupakan sinyal analog.
Pada DFT (Discret Fourier Transform) berbeda dengan DTFT (discret time fourier transform), bedanya adalah kalau DFT adalah sinyal diskrit dari domain frekuensi dari 0 sampai dengan 2*pi, sedangkan DTFT adalah sinyal diskrit dari skuen waktu diskrit x(n) pada domain waktu. Di DFT juga mengambil nilai-nilai sebanyak n-point saja. Sedangkan di transformasi fourier untuk sebuah sinyal waktu kontinu x(t) secara matematis di ambil dari Gambar sisip 12
fft merupakan fungsi dari matlab untuk mentransformasikan sinyal domain waktu ke dalam bentuk frekuensi, dengan syntax :
y=fft(x) x dan n akan sama panjang
y=fft(x,n) kita dapamengambil sebanyak n;
Perhitungan Dft Menggunakan Matlab.
Contoh program 1: terdapat frekuensi 150, disampling dengan frekuensi sampling 1000. Kita akan menganalisis sinyal diskrit pada domain n dan pada domain frekuensi programnya adalah seperti di bawah ini.
F=150;
Fs=1000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1;
r=sin(2*pi*F*nT);
U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(2,1,1);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(2,1,2);stem(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');

nilai nT adalah dari 0 sampai dengan 1 dengan skala 1/FS berarti 1/1000. Sedangkan kita juga membutuhkan n pada sumbu x untuk merepresentasikan sinyal diskrit dengan domain n, n kita ambil adalah dari 0 sampai dengan panjang dari nT-1. Setelah itu kita mendefinisikan sinyal sinusoodal dari sin (2*pi*F*nT), ini merupakan sinyal yang akan kita analisis. Di atas terdapat variabel U adalah untuk mentranformasikan sinyal sinus tadi kedalah bentuk domain frekuensi. Kemudian kita juga membuat deret frekuensi pada sumbu x dengan mengunakan variabel frek dimana panjangnya adalah dari 0 sampai dengan panjang dari U di -1 dai bagi dengan panjang U di kali frekuensi sampling. Kemudian kita gambarka sinyal dari (n,r) untuk domain n dan (frek,U) untuk domain frekuensi. Hasilnya akan seperti gambar di bawah ini :
Gambar sisip 3
Gambar 1. Representasi sinyal diskrit domain x(n) dengan domain frekuensi, dengan frekuensi asli 150 Hz
Dari gambar di atas kita dapat melihat bahwa gambar pertama adalah merepresentasikan sinyal diskrit pada domain n, sedangkan yang bawah adalah sinyal diskrit pada domain frekuensi. Apa pengaruhnya dengan frekuensi?. Itu merupakan pertanyaan yang ada di pikiran kami pada saat praktikum. Pengaruh dari frekuensi adalah pada saat di tampilkan di domain frekuensi dia akan lebih menonjol dibandingkan dengan frekuensi yang lain karena merupakan frekuensi asli. Terlihat pada gambar di atas, frekuensi yang kita gunakan adalah 150 Hz,  maka bagian yang menonjol setelah di transformasikan adalah pada frekuensi 150 dan 850. Kenapa dia berulang di 850?. Karena sinyal dari diskrit yang periodik dia akan berulang sepanjang –F sampai dengan F, dalam hal ini adalah -150 sampai 150, jika skalanya 0 sampai dengan batas atas yakni terhitung 1000 maka gampar pertama muncul di nilai 150 dan gambar ke dua muncul di 1000-150 adalah 850.
Kemudian kita mencoba untuk mengubah frekuensi yang di sampling. Misalnya 300 Hz. Programnya seperti berikut. Contoh program 2 :
F=300;
Fs=1000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1; %untuk menentukan sumbu x nya
r=sin(2*pi*F*nT);
U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(2,1,1);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(2,1,2);stem(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');

Analisisnya sama namun yang membedakan adalah letak munculnya frekuensi yang asli kalau di program pertama kita menggunakan frekuensi 150 sekarang kita menggunakan frekuensi 300 Hz. Hasilnya adalah seperti gambaw dibawah ini :
Gambar sisip 4
Gambar 2. Representasi sinyal diskrit domain x(n) dengan domain frekuensi, dengan frekuensi asli 300 Hz.
Terlihat yang membedakan adalah peletakan frekuensi asli setelah  mengalami transformasi yakni pada frekuensi 300 dan 700.
Namun ketika kita mengubah nilaii dari frekuens asli tersebut menjadi 700 maka akan terlihat sama dengan gambar di atas kenapa demikian , karena frekuensi 700 harus di sampling dengan minimal 2 kali dari frekuensi asli. Namun kita masih menggunakan frekuensi sampling 1000 yang terjadi adalah efek nyquist.
Contoh program 3 :
F=700;
Fs=1000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1; %untuk menentukan sumbu x nya
r=sin(2*pi*F*nT);
U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(2,1,1);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(2,1,2);stem(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');
hasilnya adalah seperti berikut ini :
Gambar sisip 5
Gambar 3. Representasi sinyal diskrit domain x(n) dengan domain frekuensi, dengan frekuensi asli 700 Hz.
Kenapa sama, di atas sudah saya jelaskan karena frekuensi sampling tidak memnuhi syarat untuk menyampling frekuensi asli. Syaratnya seharusnya adalah frekuensi sampling minimal harus 2 kali frekuensi asli atau frekuensi yang akan di sampling. Ini merupakan yang disebut dengan efek nyquist atau aliasing, yaitu terjadi kesalahan pencuplikan.
Sinyal diskrit terbentuk melalui proses sampling (pencuplikan) dengan periode Ts atau frekuensi sampling Fs oleh karena itu agar tidak terjadi kesalah seperti di atas. Mr. Nyquist memberikan aturan bahwa frekuensi sampling minimal harus  2 kali lipat frekuensi maksimum yang dibawa oleh sinyal yang bersangkutan.
Kita mencoba untuk memperbesar frekuensi sampling dengan frekuensi maksimum yang sama.
Contoh program 4 :
F=700;
Fs=2000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1; %untuk menentukan sumbu x nya
r=sin(2*pi*F*nT);
U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(2,1,1);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(2,1,2);stem(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');
hasilnya seperti berikut :
Gambar sisip 7
Gambar 4. Representasi sinyal diskrit domain x(n) dengan domain frekuensi, dengan frekuensi asli 700 Hz dan frekuensi sampling 2000.
Terlihat pada grafik nampak frekuensi 700 yang muncul karena sudah frekuensi samplingnya sudah memnuhi syarat minimal yang harus dipenuhi. Syarat minimalny adalah 700 x 2 = 1400. Sedangkan untuk program ke empat ini adalah 2000.
Contoh program ke 5 :
F=150; %diganti dengan 700
F2=300;
Fs=1000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1;
r=sin(2*pi*F*nT)+cos(2*pi*F2*nT);
U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(2,1,1);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(2,1,2);stem(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');
kemudian kita coba dengan menggunakan 2 frekuensi yakni 150 dan 300, untuk memahami yang ini terdapat 2 buah sinyal yang akan di tampilkan yaitu 150 dan 300. Kemudian kita ganti frekuensi tersebut dengan 700 dan 300 maka hasilnya akan bertumpukan karena frekuensi samplingnya tidak memenuhi syarat untuk yang frekuensi pertama. Seperti pada gambar berikut :
Gambar sisip 8
Gambar 5. Representasi sinyal diskrit domain x(n) dengan domain frekuensi, dengan 2 frekuensi 150 Hz dan 300 Hz dan frekuensi sampling 1000.
Gambar sisip 9
Gambar 6. Representasi sinyal diskrit domain x(n) dengan domain frekuensi, dengan 2 frekuensi 700 Hz dan 300 Hz dan frekuensi sampling 1000.
Di atas merupakan transformasi dari sinyal periodik bagaimana kalau dengan sinyal apreodik atau tidak periodik. Pada kali ini program kita yang ke 6 adalah akan mencoba menganalisis dengan sinyal diskrit yang random atau terdapat noise pada sinyal yang bersangkutan. Kita buat suatu sinyal yang mengandung noise dengan fungsi randln di matlab. Dengan frekuensimaks 400 Hz dan frekuensi sampling 1000 Hz. Kita akan membuat sinyal analog dan digital dan kemudian mentransformasikannya.
Berikut ini adalah contoh program 6 , dengan menggunakan noise apakah yang terjadi dengan sinyal yang asli.

F=400;
Fs=1000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1;
t=0:1/F/50:10/F; %waktu untuk menentukan sinyal analog
r=sin(2*pi*F*nT)+randn(1,length(nT));%akan digunakan untuk membuat sinyal diskrit [n];
rt=sin(2*pi*F*t)+randn(1,length(t));%akan di buat analog x[t];

U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(3,1,1);plot(t,rt);xlabel('t Detik');ylabel('amplitude');title('Sinyal analog noise');subplot(3,1,2);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(3,1,3);plot(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');

Karena kita akan membuat sinyal analog juga kita membutuhkan t (waktu) karena sinyal analah tergantung pada domain waktu. Jadi kita membuat time dari 0 sampai dengan 10/F sama dengan 0,0025. Yakni dengan skala 1/F/50 atau dalam program kita ini sama dengan 0,00005.  Jadi nanti terdapat 50 skala dari 0 samapai dengan 0,0025. Kemudian kita membuat fungsi random dari sinyal sinusoidal yaitur=sin(2*pi*F*nT)+randn(1,length(nT)); untuk sinyal waktu diskrit dan rt=sin(2*pi*F*t)+randn(1,length(t));untuk  sinyal waktu kontinu. Fungsi randln sendiri adalah untuk mengasilkan noise pada sinyal yang bersangkutan sehingga tersamarkan. Kemudian kita menampilkan dengan menggunakan plot agar terlihat randomnya. Program di atas ketika di run hasilnya akan seperti berikut ini :
Gambar sisip 10
Gambar 7. Representasi sinyal analog, diskrit dan DFT sinyalnya bersifat random dan terdapat noise.
Sudah saya jelaskan sedikit di atas bahwa fungsi randln adalah untuk membentuk sinyal random atau noise. Jadi sebelum-sebelumnya kita menggunakan sinyal yang periodi sekarang kita menggunakan sinyal random, dapat dikatakan terdapat noise yang dapat mengganggu untuk mentransformasikan frekuensi yang asli.
Pengaruh dari randln jika di perbesar adalah frekuensi yang asli akan semakin tidak namapak. Mari kita coba menganalisis dengan frekuensi sinyal yang sama di atas namun randln di perbesar. Programnya menjadi :
F=400;
Fs=1000;%frekuensi sampling
nT=0:1/Fs:1;
n=0:length(nT)-1;
t=0:1/F/50:10/F; %waktu untuk menentukan sinyal analog
r=sin(2*pi*F*nT)+6.*randn(1,length(nT));%akan digunakan untuk membuat sinyal diskrit [n];
rt=sin(2*pi*F*t)+6.*randn(1,length(t));%akan di buat analog x[t];

U=abs(fft(r));
frek=(0:length(U)-1)/length(U).*Fs; %untuk menentukan sumbu x nya
figure;subplot(3,1,1);plot(t,rt);xlabel('t Detik');ylabel('amplitude');title('Sinyal analog noise');subplot(3,1,2);stem(n,r);xlabel('n');ylabel('amplitude');title('Sinyal diskrit');subplot(3,1,3);plot(frek,U);xlabel('Frekuensi');ylabel('|X(F/Fs)|');title('Spektrum frekuansi sinyal diskrit');
Tulisan yang berwarna merah merupakan cara untuk memperbesar noise sebanyak 6 kali. Hasilnya adalah sinyal frekuensi yang asli tidak akan muncul seperti sebelumnya. Figurnya seperti berikut
Gambar sisip 11
Gambar 8. Representasi sinyal analog, diskrit dan DFT sinyalnya bersifat random dan terdapat noise yang di perbesar sebanyak 6 kali.

Jadi kesimpulannya semakin besar noise yang ada semakin hilang frekuensi aslinya dan tidak dapat di perlihatkan.
Lanjut baca - TRANSFORMASI FOURIER DISKRIT DENGAN FAST FOURIER TRANSFORM SERTA ALIASING