Senin, 13 Agustus 2012

Fungsi






            Suatu fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya.

Tujuan penggunaan fungsi :
  1. Program menjadi terstruktur
  2. Dapat mengurangi pengulangan kode program.

Fungsi dapat diimplementasikan dalam tiga bentuk :
  1. Pendeklarasian fungsi sebagai prototype fungsi.
  2. Pendefinisian fungsi.
  3. pemanggilan fungsi dari program lain.

1.   Prototipe Fungsi
      Prototipe fungsi merupakan model dari sebuah fungsi yang berguna untuk mendeklarasikan cirri-ciri fungsi, meliputi :
  1. nama fungsi
  2. tipe nilai balik fungsi.
  3. jumlah dan tipe argument.

Bentuk umum :   jenis_data nama fungsi (jenis_data, jenis_data,…);
Prototype fungsi tidak perlu dituliskan bila suatu fungsi terletak di atas fungsi yang memanggilnya.

      Contoh :    long kuadrat(long);
                        int maks(int a, int b);
                        void garis( );
                        long nilai(int,int);

2.   Pendefinisian Fungsi
      Mendefinisikan fungsi adalah menyusun perintah-perintah yang akan dilakukan fungsi itu sesuai dengan tugas yang akan dilakukannya.

Bentuk umum :
                      [jenis data] nama_fungsi ([jenis_data arg1], jenis data ag2],…)
                     {
                           [deklarasi variable];
                           [kode program];
                           [pernyataan return];
                       } 
  
3.   Pemanggilan Fungsi
      Fungsi-fungsi yang telah didefinisikan dapat dipanggil dari bagian-bagian fungsi lain. Pada saat sebuah fungsi dipanggil, alur eksekusi program akan berpindah ke fungsi yang dipanggil itu. Setelah selesai mengeksekusi fungsi, kendali program akan dikembalikan kepada fungsi yang memanggil, dan alur eksekusi program dilanjtukan pada pernyataan setelah pemanggilan fungsi tersebut.
Bentuk umum :
                Nama_fungsi( [jenis_data arg1], [jenis data ag2],…);  
    Nama fungsi( );       


contoh program yang menggunakan fungsi sederhana :

# include<stdio.h>
int wiralfi (int a,int b);
main()
{
int hasil;
hasil=wiralfi(2,3);
printf("hasil penjumlahan nya adalah %d",hasil);

}
int wiralfi(int a,int b)
{
int C;
C=a+b;
return (C);
}

Filtering pada Image menggunakan HPF





clc;
close all;
 
   % High Pass Filter Design
  
    % a)
    HighpassFilter = Fspecial('laplacian');
   
    % b) fft of highpass filter
    HighpassFilterSpectrum = fftshift(fft2(HighpassFilter,intRows,intCols));
   
    % c)    figure('Name', 'Highpass Filter', 'NumberTitle', 'off', 'MenuBar', 'none');
    colormap(gray);
    subplot(1,2,1);
    imagesc(log10(1+abs(HighpassFilterSpectrum)));
    title('Log Magnitude');
    subplot(1,2,2);
    imagesc(angle(HighpassFilterSpectrum));
    title('Phase');
   
    % d) Filtering
    imgLennaFiltered = HighpassFilterSpectrum .* imgLennaSpectrum;
    figure('Name', 'Highpass Filtered Image', 'NumberTitle', 'off', 'MenuBar', 'none');
    colormap(gray);
    subplot(2,2,1);
    imagesc(log10(1+abs(imgLennaFiltered)));
    title('Log Magnitude');
    subplot(2,2,2);
    imagesc(angle(imgLennaFiltered));
    title('Phase');
   
    % e) Inverse FFT
    subplot(2,2,3);
    imgLennaHighpassFiltered = abs(ifft2(imgLennaFiltered));
    imgLennaHighpassFiltered = circshift(imgLennaHighpassFiltered,[-1.*floor(length(HighpassFilter)/2) -1.*floor(length(HighpassFilter)/2)]);
    imagesc(imgLennaHighpassFiltered);
    title('Inverse FFT of Highpass Filtered Image');

Filtering pada Image menggunakan LPF





clc;
close all;
% Lowpass Filter Design
LowpassFilter = Fspecial('gaussian', [11 11], 1.3);

%  fft of lowpass filter
       LowpassFilterSpectrum = fftshift(fft2(LowpassFilter, intRows, intCols));

% Figure
   figure('Name', 'Lowpass Filter', 'NumberTitle', 'off', 'MenuBar', 'none');
    colormap('gray');
    subplot(1,2,1);
    imagesc(log10(1+abs(LowpassFilterSpectrum)));
    title('Log Magnitude');
    subplot(1,2,2);
    imagesc(angle(LowpassFilterSpectrum));
    title('Phase');
   
 % filtering  
    imgLennaFiltered = LowpassFilterSpectrum .* imgLennaSpectrum;
    figure('Name', 'Lowpass Filtered Image', 'NumberTitle', 'off', 'MenuBar', 'none');
    colormap('gray');
    subplot(2,2,1);
    imagesc(log10(1+abs(imgLennaFiltered)));
    title('Log Magnitude');
    subplot(2,2,2);
    imagesc(angle(imgLennaFiltered));
    title('Phase');

  % Inverse FFT
    subplot(2,2,3);
    imgLennaLowpassFiltered = abs(ifft2(imgLennaFiltered));
    imgLennaLowpassFiltered = circshift(imgLennaLowpassFiltered,[-1.*floor(length(LowpassFilter)/2) -1.*floor(length(LowpassFilter)/2)]);
    imagesc(imgLennaLowpassFiltered);
    title('Inverse FFT of Lowpass Filtered Image');
   
    subplot(2,2,3);
    imagesc(imgLennaPhase);
    title('Phase of FFT of lenna.gif');
   
    subplot(2,2,4);
    imagesc(imgLennaInverseFFT);
    title('Inverse fft');

Optimasi Jaringan Radio Frekuensi GSM 900 dan 1800



1. PENDAHULUAN

Frekuensi radio merupakan suatu sinyal arus bolak-balik frekwensi tinggi (AC) yang berjalan terus pada suatu konduktor tembaga dan kemudian diradiasikan ke udara melalui sebuah antenna. Suatu antena mengubah suatu sinyal kabel mnjadi sinyal wireless dan vice versa. Ketika sinyal AC frekuensi tinggi diradiasikan ke udara, maka akan membentuk gelombang radio. Gelombang Radio ini akan menjauh dari sumber (antena) pada suatu garis lurus di segala jurusan dengan segera.
Jenis – jenis gelombang RF:
1. Nama Band                         : Very Low Frequency (Vlf) 
Panjang Gelombang   : > 10 Km 
Frekuensi                    : < 30 Khz
Nama Gelombang       : Gelombang Myriametrik

2. Nama Band                         : Low Frequency (Vlf) 
Panjang Gelombang   : 1 - 10 Km 
Frekuensi                    : 30 - 300 Khz
Nama Gelombang       : Gelombang Kilometer

3. Nama Band                         : Medium Frequency (Mf) 
Panjang Gelombang   : 100 - 1.000 M 
Frekuensi                    : 300 - 3.000 Khz
Nama Gelombang       : Gelombang Hektometer

4. Nama Band                         : High Frequency (Hf) 
Panjang Gelombang   : 10 - 100 M 
Frekuensi                    : 3 - 30 Mhz
Nama Gelombang       : Gelombang Dekameter

5. Nama Band                         : Very High Frequency (Vhf) 
Panjang Gelombang   : 1 - 10 Km 
Frekuensi                    : 30 - 300 Mhz
Nama Gelombang       : Gelombang Meter

6. Nama Band                         : Ultra High Frequency (Uhf) 
Panjang Gelombang   : 10 - 100 Cm 
Frekuensi                    : 300 - 3.000 Mhz
Nama Gelombang       : Gelombang Decimeter

7. Nama Band                         : Super High Frequency (Shf) 
Panjang Gelombang   : 1 - 10 Cm 
Frekuensi                    : 3 - 30 Ghz
Nama Gelombang       : Gelombang Centimeter 

8. Nama Band                         : Extremely High Frequency (Ehf) 
Panjang Gelombang   : 1 - 10 Mm 
Frekuensi                    : 30 - 300 Ghz
Nama Gelombang       : Gelombang Milimeter

            Global System for Mobile Communication atau lebih dikenal dengan GSM merupakan teknologi komunikasi digital yang memberikan layanan komunikasi bergerak. Dalam beberapa tahun terakhir ini teknologi identifikasi berbasis frekuensi radio (Radio Frequency Identification) berrkembang dengan pesat. Hal ini diakibatkan oleh beberapa hal, salah satu di antaranya kebutuhan yang besar dari aplikasi untuk konsumen dengan menggunakan teknologi ini.
Optimasi RF jaringan GSM dapat dilakukan dengan melakukan Test Drive (DT). Drivetest merupakan cara yang tepat untuk membantu operator dengan mengukur cakupan RF dan interferensi yang mempengaruhi keseluruhan kapasitas jaringan.
Sebelum DT kita cek azimut dan Tilt dari antena dipasang di menara. Di DT, pertama kita menemukan situs maka kita menghubungkan TEMS, GPS dengan PC dan memulai Software TEMS 6.0. Lalu kita membuat slogs sebagai berikut: TRX, dalam hal ini kami membuat 20 panggilan pada setiap bagian dari 20 detik, log berikutnya adalah INETR, dan kami membuat lama berkendara untuk pengujian tangan ke BTS yang berdekatan dan cakupan. Log lain adalah INTRA, dalam hal ini kita membuat putaran searah jarum jam lingkaran dan counter clock wise ke BTS dan memeriksa serah terima antara sel-sel yang berdekatan. Pada tahun terakhir, kami membuat log dari GPRS, di RF Engineer memeriksa layanan GPRS di semua sel BTS. 


Proses Drive test untuk jaringan GSM

Batasan Masalah :
1) Analisis perancangan jaringan radio GSM mempunyai keluaran hingga nominal planning.
2) Pengimplementasian dan analisis keluaran simulasi ke peta digital menggunakan program ArcGIS 9.2.
3) Menggunakan jaringan radio GSM 900 untuk makro sel dan GSM 1800 untuk mikro sel di daerah Semarang.
4) Proses perancangan yang dilakukan hanya pada layanan suara GSM.
5) Asumsi jumlah pengguna layanan GSM yang dijadikan dasar dalam perhitungan merupakan 30% dari estimasi jumlah penduduk kota Semarang tahun 2014.
6) Tiap pengguna diasumsikan mendapatkan alokasi trafik 25mE atau 90 detik pada jam sibuk.
7) Tidak membahas secara mendetail mengenai pengaruh morfologi dan topografi area Semarang terhadap perambatan gelombang.
8) Tidak memperhitungkan mobilitas pelanggan terhadap perhitungan trafik.

2. GLOBAL SYSTEM FOR MOBILE COMMUNICATION (GSM)
2.1 Kanal pada Air Interface GSM
Transmisi digital yang diimplementasikan dalam GSM merupakan penggabungan dari 2 buah metode multiple access yaitu FDMA (Frequency Division Multiple Access) dan TDMA (Time Division Multiple Access). FDMA mengalokasikan tiap-tiap BTS dengan duplex frekuensi yang berbeda-beda sehingga MS yang berada pada sel yang sama atau berada pada sel tetangga dapat beroperasi dalam waktu yang bersamaan.
Awalnya GSM didesain untuk beroperasi pada frekuensi 900 Mhz. Pada frekuensi ini, frekuensi uplinks-nya digunakan frekuensi 890–915 MHz, sedangkan frekuensi downlinks-nya menggunakan frekuensi 935–960 MHz. Bandwidth yang digunakan adalah 25 Mhz (915–980 = 960–935 = 25 Mhz), dan lebar kanal sebesar 200 Khz. Dari keduanya, maka didapatkan 125 kanal, dimana 124 kanal digunakan untuk suara dan satu kanal untuk band penjaga.

2.2 Konsep Seluler
Daerah cakupan pelayanan sistem seluler terbagi atas daerah-daerah kecil yang disebut dengan sel, dan setiap sel ditangani oleh sebuah site akan tetapi satu site bisa memiliki lebih dari satu sel. Tiap sel mempunyai grup transceiver (frekuensi) yang independen. Kumpulan K sel disebut cluster. K bisa bernilai 4, 7, 9, 12, dan seterusnya. Nilai K tersebut sering disebut juga dengan frequency reuse factor yang menunjukan periode dari frequency reuse.
Bila ukuran cluster besar maka perbandingan jari-jari sel terhadap sel ko-kanal adalah besar sehingga semakin meningkatkan kualitas transmisi karena nilai Co Channel Interference semakin kecil. Sebaliknya, bila ukuran cluster kecil maka jarak antar sel ko-kanal semakin dekat akan tetapi kapasitas yang diberikan menjadi semakin besar.
Setiap BTS yang bersebelahan menggunakan sekumpulan frekuensi yang berbeda dengan sel disebelahnya untuk meminimalkan interferensi. Frekuensi yang sama dapat digunakan oleh sel lain dimana jarak sel yang menggunakan frekuensi yang sama sedemikian rupa sehingga pengaruh interferensi antar kanal dapat diminimalkan.
2.3 Meningkatkan Kapasitas Kanal Suara
Ada beberapa teknik yang dapat digunakan untuk meningkatkan kapasitas kanal suara, antara lain:
Sektorisasi
Metode yang sering dipergunakan untuk meningkatkan kapasitas dengan membuat jari-jari sel tidak berubah dan memperkecil interferensi ko-kanal 3 dengan menggantikan antena omnidirectional sebuah BTS dengan beberapa antena directional yang memiliki pola radiasi sinyal pada suatu arah saja. Pada pensektoran, peningkatan kapasitas sistem dicapai dengan mengurangi jumlah sel dalam satu cluster yang sekaligus memperbesar faktor penggunaan ulang frekuensi. 

Konfigurasi Mail Server Menggunakan Postfix dan Squirrelmail



Postfix adalah mail transfer agent bebas dan terbuka. Postfix merupakan mail transfer agent default untuk sejumlah sistem operasi bertipe Unix. Salah satu ketangguhan Postfix adalah kemampuannya menahan "buffer overflow". Ketangguhan lainnya adalah kesanggupan Postfix memproses surat elektronik dalam jumlah banyak.
Postfix dibuat dengan sistem jaringan daemon dimana setiap daemon hanya mengerjakan satu tugas dengan menggunakan akses minimum ke sistem. Dengan begitu, jika ada satu daemon yang bermasalah maka hanya akan memengaruhi daemon tersebut dan tidak akan berimbas ke seluruh sistem Postfix. Sewaktu Postfix dijalankan, hanya ada satu proses yang menggunakan akses "root".

(Sumber : http://id.wikipedia.org/wiki/Postfix )

MTA -- mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using a client–server application architecture. An MTA implements both the client (sending) and server (receiving) portions of the Simple Mail Transfer Protocol.

(Sumber : http://en.wikipedia.org/wiki/Message_transfer_agent)


Sebelum melakukan konfigurasi mail server, ada beberapa pakage yang harus diinstal, yaitu Postfix, Squirrelmail, squirrelmail, dan Dovecot-Postfix.
1. Instal terlebih dahulu pakage-pakage tersebut dengan perintah apt-get install.



Gambar : Instalasi pakage Postfix
Setelah pakage postfix selesai diinstal, selanjutnya install squirrelmail dengan perintah
2. apt-get install squirrelmail

Gambar : Instalasi pakage squirrelmail

Untuk pakage dovecot-postfix akan diinstall terakhir setelah kita melakukan konfigurasi pada bagian postfix dan squirrelmailnya.
Selanjutnya kita lakukan konfigurasi pada bagian Postfix-nya.

3. Ketik perintah dpkg-reconfigure postfix


pilih ok

Pilih Internet Site lalu OK
Masukkan penamaan email lalu OK

Masukkan domain lalu OK
Pilih Yes

Masukkan network lalu pilih OK
Pilih No

Isi dengan 0 (default) lalu OK


Isi dengan tanda + lalu OK
Pilih All lalu OK

Gambar : Postfix selesai dikonfigurasi

langkah selanjutnya untuk mengkonfigurasi squere mail

4. Ketikkan perintah squirrelmail-configure


Pilih nomor 2 (Server Settings)

Pilih nomor 1 dan masukkan nama domain

Setelah itu pilih S untuk menyimpan dan Q untuk keluar.
5. Setelah itu kemudain restart service postfix-nya dengan perintah
 /etc/init.d/postfix restart

6.Berikutnya adalah menginstal pakage dovecot-postfix.
7. Lakukan instalasi dengan printah apt-get install dovecot-postfix



8. Setelah itu cek port smtp dan imap apakah sudah berjalan dengan nmap.
9. Cek port yang berjalan dengan perintah nmap mail.lindung.edu
Catatan : install dahulu pakage nmap-nya


10. Setelah itu, coba kita akan melakukan uji coba web mail melalui browser. Kita akan mencoba memasukkan directory letak file squirrelmail di DocumetRoot web server apache. Secara default squirrelmail setelah berhasil diinstall akan berada pada directory /usr/share/squirrelmail
Kita edit terlebih dahulu file /etc/apache2/site-available/default dengan perintah pico /etc/apache2/site-available/default

11. Ubah pada bagian DocumentRoot-nya

12. Setelah itu simpan dengan menekan ctrl+o dan keluar dengan menekan ctrl+x.
Setelah disimpan selanjutnya restart service apache-nya


13. Selanjutnya kita cek lewat browser dengan mengetikkan url mail.lindung.edu
Jika berhasil maka akan muncul tampilan seperti di atas

14. Selanjutnya adalah melakukan cek webmail apakah sudah dapat digunakan apa belum. Terlebih dahulu kita buat user untuk login ke webmail, kita buat 2 user untuk nantinya kita coba saling kirim email. Buat user dengan perintah adduser diikuti nama user.

Dari capture di atas, sudah dibuat 2 user dengan nama email1 dan email2.
15. Setelah itu kembali ke browser dan coba login dengan user yang sudah dibuat tadi.

Jika berhasil maka akan masuk ke halaman utama Squirrelmail seperti gambar di atas.

selamat mencoba dan semoga bermanfaat :D











Minggu, 05 Agustus 2012

Pengolahan Citra : seri Fourier



Deret fourier adalah deret yang digunakan dalam bidang rekayasa. Deret ini pertamakali ditemukan oleh seorang ilmuan perancis Jean-Baptiste Joseph Fourier (1768-1830). Deretyang selanjutnya dikenal sebagai deret fourier ini merupakan deret dalam bentuk sinusoidal(sinus dan cosinus) yang digunakan untuk merepresentasikan fungsi-fungsi periodik secaraumum. Selain itu, deret ini juga sering dijadikan sebagai alat bantu dalam menyelasaikan persamaan diferensial, baik persamaan diferensial biasa maupun persamaan diferensial parsial.

fourier dapat diaplikasikan dalam pengolahan citra, berikut adalah pengolahan citra pada matlab menggunakan fourier



N=256;
T=1/128;
k=0:N-1;
time=k*T;
f=.25+2*sin(2*pi*5*k*T)+1*sin(2*pi*12.5*k*T)+1.5*sin(2*pi*20*k*T)+.5*sin(2*pi*35*k*T);
subplot(2,1,1);
plot(time,f),title('sampled signal at 128 Hz');
xlabel('time (sec)'),ylabel('signal strenght(volt)');
F=fft(f);
magF=abs([F(1)/N,F(2:N/2)/(N/2)]);
hertz=k(1:N/2)*(1/(N*T));
subplot(2,1,2);
stem(hertz,magF),title('frekuency component');
xlabel('frequency(hertz)');,ylabel('Amplitude(Volts)');





fs=8000;
t=0:1/fs:1-(1/fs);
y=wavrecord(1*fs,fs);
subplot(2,1,1),plot(t,y);
wavplay(y,fs);
N=512;
X=fft(y,N);
f=(0:(N/2)-1)/(N/2)*fs/2;
a=abs(X(1)/N);
b=abs(X(2:N/2)/(N/2));
magF=[a b'];
subplot(2,1,2),plot(f(1:N/2),magF(1:N/2));






fs=100;
N=100;
T=1/fs;
k=0:N-1;
time=k*T;
frek=10;
y=1.5*sin(2*pi*frek*time);
subplot(2,1,1);
plot(time,y),title(STRCAT('signal sampled  at',INT2STR(fs),'Hz'));
xlabel('time (sec)'),ylabel('signal strenght(volt)');
F=fft(y);
magF=abs([F(1)/N,F(2:N/2)/(N/2)]);
hertz=k(1:N/2)*(1/(N*T));
subplot(2,1,2);
stem(hertz,magF),title('frekuency component');
xlabel('frequency(hertz)');,ylabel('Amplitude(Volts)');




fs=100;
N=100;
T=1/fs;
k=0:N-1;
time=k*T;
frek=10;
y=1.5*sin(2*pi*frek*time)+2*sin(2*pi*90*time);
subplot(2,1,1);
plot(time,y),title(STRCAT('signal sampled  at',INT2STR(fs),'Hz'));
xlabel('time (sec)'),ylabel('signal strenght(volt)');
F=fft(y);
magF=abs([F(1)/N,F(2:N/2)/(N/2)]);
hertz=k(1:N/2)*(1/(N*T));
subplot(2,1,2);
stem(hertz,magF),title('frekuency component');
xlabel('frequency(hertz)');,ylabel('Amplitude(Volts)');





Pengamatan:
1. Sinyal dapat diplot dalam domain waktu ataupun domain frekuensi
2. Domain waktu adalah output dari osiloskop dan domain frekuensi adalah output dari spektrum analyzer.
3. Jika frekuensi sampling tidak tidak memenuhi syarat nyquist maka akan terjadi aliasing.
4. Aliasing dalam domain frekuensi adalah berupa sinyal output memiliki frekuensi yang tidak sama dengan frekuensi sinyal informasi.