Pembagian Kelas IP Address

Belang Telon | Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255 atau sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan internet di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah alokasi IP Address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu. IP address dibagi ke dalam lima kelas, yaitu kelas A, kelas B, kelas C, kelas D dan kelas E. Perbedaan tiap kelas adalah pada ukuran dan jumlahnya. Contohnya IP kelas A dipakai oleh sedikit jaringan namun jumlah host yang dapat ditampung oleh tiap jaringan sangat besar. Kelas D dan E tidak digunakan secara umum, kelas D digunakan bagi jaringan multicast dan kelas E untuk keprluan eksperimental. Perangkat lunak  Internet Protocol menentukan pembagian jenis kelas ini dengan menguji beberapa bit pertama dari IP Address. Penentuan kelas ini dilakukan dengan cara berikut :
Bit pertama IP address kelas A adalah 0, dengan panjang net ID 8 bit dan panjang host ID 24 bit. Jadi byte pertama IP address kelas A mempunyai range dari 0-127.  Jadi pada kelas A terdapat 127 network dengan  tiap network dapat menampung sekitar 16 juta host (255x255x255). IP address kelas A diberikan untuk jaringan dengan jumlah host yang  sangat besar, IP kelas ini dapat dilukiskan pada gambar berikut ini:

Dua bit IP address kelas B selalu diset 10 sehingga byte pertamanya selalu bernilai antara 128-191. Netw  pertama dan 16 bit sisanya  ork ID adalah 16 bit adalah host ID sehingga
kalau ada  komputer mempunyai IP address 192.168.26.161,  network ID = 192.168  dan host ID = 26.161. Pada. IP address kelas B ini mempunyai range IP dari 128.0.xxx.xxx sampai 191.155.xxx.xxx, yakni berjumlah 65.255  network dengan jumlah host tiap network 255 x 255 host atau sekitar 65 ribu host.

IP address kelas C mulanya digunakan untuk jaringan berukuran kecil seperti LAN. Tiga bit pertama IP add diset 111. Network ID terdiri  ress kelas C selalu dari 24 bit dan host ID 8 bit sisanya sehingga dapat terbentuk sekitar 2 juta network dengan masing-masing network memiliki 256 host.

IP address kelas D digunakan untuk keperluan multicasting. 4 bit pertama IP address kelas D selalu diset 1110 sehingga byte pertamanya berkisar antara 224-247, sedangkan bit-bit berikutnya diatur sesuai keperluan multicast group yang menggunakan IP address ini. Dalam multicasting tidak dikenal istilah network ID dan host ID.
IP address kelas E tidak diperuntukkan untuk keperluan umum. 4 bit pertama IP address kelas ini diset 1111 sehingga byte pertamanya berkisar antara 248-255.
Sebagai tambahan dikenal juga istilah  Network Prefix,  yang digunakan untuk IP address yang menunjuk bagian jaringan.Penulisan network prefix adalah dengan tanda slash “/” yang diikuti angka yang menunjukkan panjang network prefix ini dalam bit. Misal  untuk menunjuk satu network kelas B 192.168.xxx.xxx digunakan penulisan 192.168/16. Angka 16 ini merupakan panjang bit untuk network prefix kelas B.

Pengertian IP Address Jaringan Komputer

Belang Telon | IP address digunakan sebagai alamat dalam hubungan antar host di internet sehingga merupakan sebuah sistem komunikasi yang universal karena merupakan metode pengalamatan yang telah diterima di seluruh dunia. Dengan menentukan IP address berarti kita telah memberikan identitas yang universal bagi setiap interface komputer. Jika suatu komputer memiliki lebih dari satu interface (misalkan menggunakan dua ethernet) maka kita harus memberi dua IP address untuk komputer tersebut masing-masing untuk setiap interfacenya.
Format Penulisan IP Address
IP address terdiri dari bilangan biner  32 bit yang dipisahkan oleh tanda titik setiap 8 bitnya. Tiap 8 bit ini disebut sebagai oktet. Bentuk IP address dapat dituliskan sebagai berikut :
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Jadi IP address ini mempunyai range dari 00000000.00000000.00000000.00000000 sampai 11111111.11111111.11111111.11111111. Notasi IP address dengan bilangan biner seperti ini susah untuk digunakan, sehingga sering ditulis dalam 4 bilangan desimal yang masing-masing dipisahkan oleh 4 buah titik yang lebih dikenal dengan “notasi desimal bertitik”. Setiap  bilangan desimal merupakan nilai dari satu oktet  IP address.
IP Address dapat dipisahkan menjadi 2 bagian, yakni bagian network (net ID) dan bagian host (host ID). Net ID berperan dalam identifikasi suatu network dari network yang lain, sedangkan host ID berperan untuk identifikasi host dalam suatu network. Jadi, seluruh host yang tersambung dalam jaringan yang sama memiliki net ID yang sama. Sebagian dari  bit-bit bagian awal dari IP Address merupakan  network bit/network number, sedangkan sisanya untuk  host. Garis pemisah antara bagian network dan host tidak tetap, bergantung kepada kelas network. IP address dibagi ke dalam lima kelas, yaitu kelas A, kelas B, kelas C, kelas D dan kelas E. Perbedaan tiap kelas adalah pada ukuran dan jumlahnya. Contohnya IP kelas A dipakai oleh sedikit jaringan namun jumlah host yang dapat ditampung oleh tiap jaringan sangat besar. Kelas D dan E tidak digunakan secara umum, kelas D digunakan bagi jaringan multicast dan kelas E untuk keprluan eksperimental.
Perangkat lunak  Internet Protocol menentukan pembagian jenis kelas ini dengan menguji beberapa bit pertama dari IP Address.
  Address Khusus
Selain address yang dipergunakan untuk pengenal  host, ada beberapa jenis address yang digunakan untuk  keperluan khusus dan tidak boleh digunakan untuk pengenal host. Address tersebut adalah:
Network Address. Address ini digunakan untuk mengenali suatu network pada jaringan Internet. Misalkan untuk host dengan IP Address kelas B 192.168.9.35. Tanpa memakai subnet (akan diterangkan kemudian), network address dari host ini adalah 192.168.0.0. Address ini didapat  dengan membuat seluruh bit  host pada 2 segmen terakhir menjadi 0. Tujuannya adalah untuk menyederhanakan informasi routing pada Internet. Router cukup melihat network address (192.168) untuk menentukan ke router mana datagram tersebut harus dikirimkan.  Analoginya mirip dengan dalam proses  pengantaran surat, petugas penyortir pada kantor pos cukup melihat kota tujuan pada alamat surat (tidak perlu membaca selutuh alamat) untuk menentukan jalur mana yang harus ditempuh surat tersebut.
Broadcast Address. Address ini digunakan untuk mengirim/menerima informasi  yang harus diketahui oleh seluruh  host yang ada pada suatu  network. Seperti diketahui, setiap datagram IP memiliki header alamat tujuan berupa IP Address dari  host yang akan dituju oleh datagram tersebut. Dengan adanya alamat ini, maka hanya  host tujuan saja yang memproses datagram tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu  host ingin mengirim datagram kepada seluruh host yang ada pada networknya ? Tidak efisien jika ia harus membuat replikasi datagram sebanyak jumlah  host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja  host pengirim bertambah, padahal isi datagram-datagram  tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima datagram tersebut. Konsekuensinya, seluruh host pada  network yang sama harus memiliki  broadcast address yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu.
Jadi, sebenarnya setiap  host memiliki 2 address untuk menerima datagram : pertama adalah IP Addressnya yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada.  Broadcast address diperoleh dengan membuat bit-bit  host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 192.168.9.35 atau 192.168.240.2, broadcast  addressnya adalah 192.168.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast  biasanya adalah informasi routing.
Multicast Address. Kelas address A, B dan C adalah address yang digunakan untuk komunikasi antar  host, yang menggunakan datagram-datagram  unicast. Artinya, datagram/paket memiliki address tujuan berupa satu  host tertentu. Hanya  host yang memiliki IP address sama dengan  destination address pada datagram yang akan menerima datagram tersebut, sedangkan  host lain akan mengabaikannya. Jika datagram ditujukan untuk seluruh  host pada suatu jaringan, maka field address tujuan ini akan berisi alamat broadcast dari jaringan yang bersangkutan. Dari dua mode pengiriman ini (unicast  dan  broadcast), muncul pula mode ke tiga. Diperlukan suatu mode khusus jika suatu host ingin berkomunikasi dengan beberapa  host sekaligus (host group), dengan hanya mengirimkan satu datagram  saja. Namun berbeda dengan mode  broadcast, hanya host-host yang tergabung dalam suatu group saja yang akan menerima datagram ini, sedangkan  host lain tidak akan terpengaruh. Oleh karena itu, dikenalkan konsep multicast. Pada konsep ini, setiap  group yang menjalankan aplikasi bersama mendapatkan satu multicast address. Struktur kelas multicast address dapat dilihat pada Gambar berikut.

Teknik routing yang memungkinkan aliran data IP disebarkan dari satu sumber ke sejumlah tujuan atau dari banyak sumber ke banyak tujuan. Daripada mengirimkan satu paket ke tiap-tiap tujuan, satu pakek bias dikirim ke multicast group yang diidentifikasikan dengan alamat kelompok tujuan IP tunggal. Untuk keperluan  multicast, sejumlah IP Address dialokasikan sebagai multicast  address. Jika struktur IP Address mengikuti bentuk 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx (bentuk  desimal 224.0.0.0 sampai 239.255.255.255), maka IP Address merupakan multicast  address. Alokasi ini ditujukan untuk keperluan group, bukan untuk host seperti pada kelas A, B dan C. Anggota group adalah host-host yang ingin bergabung dalam group tersebut. Anggota ini juga tidak terbatas pada jaringan di satu  subnet, namun bisa mencapai seluruh dunia.  Karena menyerupai suatu  backbone, maka jaringan muticast ini dikenal pula sebagai Multicast Backbone (Mbone).

Diskrit, Kontinue dan Komputasi pada Teori Bahasa Otomata

Belang Telon | Pada bab-bab awal materi Teori Bahasa Otomata (TBO) terdapat beberapa istilah yang tidak hanya ditemukan dalam materi teori bahasa otomata tetapi juga dalam materi matakuliah yang lain. Beberapa istilah tersebut adalah diskrit, kontinue dan komputasi.

Diskrit adalah Istilah yang digunakan untuk menyatakan sebuah data yang dapat dinyatakan dalam bentuk angka, di mana data tersebut dapat dinyatakan dalam jumlah yang pasti (Countable / berhingga). Ada juga yang menyatakan suatu benda dapat dikatakan diskrit jika ia terdiri dari elemen-elemen yang tersusun dan berbeda dengan elemen-elemen lain yang tidak bersambungan/berkaitan.
Kontinu adalah istilah yang digunakan untuk menyatakan sebuah data yang dapat dinyatakan dalam bentuk angka, di mana data tersebut dapat dinyatakan dalam jumlah yang tidak pasti (UnCountable / tidak berhingga).
Komputasi 
Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi menjadi isu penting karena mempelajari bagaimana kita dapat merancang mesin yang mampu melakukan proses-proses intelektual (yang mulanya hanya dapat dilakukan manusia). Namun dalam merancang seringkali kita terkendala dengan berbagai macam batasan.
Tetapi apakah benar jika batasan-batasan (yang dimiliki komputer) pada dasarnya disebabkan oleh kelemahan programmer (manusia)??? bukan batasan intrinsik yang dimiliki mesin/komputer ?! Jika Ya, maka kita berharap agar batasan-batasan tersebut dapat terreduksi melalui pengembangan teori komputasi.

Teknik komputasi
Perangkat ilmu tentang alat (biasanya sebuah komputer), metode (yang disebut algoritma) dan teori (bukti matematis bahwa komputasi memberi hasil yang benar) yang diperlukan untuk melaksanakan komputasi tersebut.  Sementara itu dalam melakukan kegiatan komputasi untuk menyelesaikan suatu persoalan, seorang teknisi harus memperhatikan interaksi dari alat (komputer yang digunakan), metode (yaitu program yang dimiliki), dan sifat unik dari soal yang dihadapi, sebab dalam praktek soal-soal memiliki tingkat kesulitan yang berbeda-beda:  ada soal yang relatif sangat gampang, ada yang sulit, tetapi juga ada soal yang sangat sulit.


Contoh hal / proses yang dapat dikomputasikan:
•    Digunakan sebagai pemecahan kasus pada bidang ilmu Fisika secara sederhana
•    Sebagai Tomografi yang berbentuk analitik dari 2-D mapping
•    Menghitung suatu persamaan
•    Membantu memecahkan suatu masalah
•    Scanning
•    Sistem pakar
•    Membuat grafik 3D
•    Kecerdasan buatan
•    Perhitungan numerik
•    Games
•    Algoritma
•    Formula
•    Persamaan Linier
•    Persamaan Kuadrat
•    Persamaan Pangkat Tiga
•    Bilangan
•    Operasi Matematika
•    Data
•    Informasi
•    Character

Model Komputasi Awal :
Model Komputasi Sekarang : 

Sebagai contoh proses komputasi untuk : f(x)  =  x  +  x  +  x
Langkah 1:
Langkah 2:

Langkah 3:
Langkah 4: 

Diskrit, Kontinue dan Komputasi pada Teori Bahasa Otomata

BelangTelon | Diskrit adalah Istilah yang digunakan untuk menyatakan sebuah data yang dapat dinyatakan dalam bentuk angka, di mana data tersebut dapat dinyatakan dalam jumlah yang pasti (Countable / berhingga). Ada juga yang menyatakan suatu benda dapat dikatakan diskrit jika ia terdiri dari elemen-elemen yang tersusun dan berbeda dengan elemen-elemen lain yang tidak bersambungan/berkaitan.
Kontinu adalah istilah yang digunakan untuk menyatakan sebuah data yang dapat dinyatakan dalam bentuk angka, di mana data tersebut dapat dinyatakan dalam jumlah yang tidak pasti (UnCountable / tidak berhingga).

Komputasi  
Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi menjadi isu penting karena mempelajari bagaimana kita dapat merancang mesin yang mampu melakukan proses-proses intelektual (yang mulanya hanya dapat dilakukan manusia). Namun dalam merancang seringkali kita terkendala dengan berbagai macam batasan. Tetapi apakah benar jika batasan-batasan (yang dimiliki komputer) pada dasarnya disebabkan oleh kelemahan programmer (manusia)???
bukan batasan intrinsik yang dimiliki mesin/komputer ?! Jika Ya, maka kita berharap agar batasan-batasan tersebut dapat terreduksi melalui pengembangan teori komputasi.

Teknik Komputasi
Perangkat ilmu tentang alat (biasanya sebuah komputer), metode (yang disebut algoritma) dan teori (bukti matematis bahwa komputasi memberi hasil yang benar) yang diperlukan untuk melaksanakan komputasi tersebut.  Sementara itu dalam melakukan kegiatan komputasi untuk menyelesaikan suatu persoalan, seorang teknisi harus memperhatikan interaksi dari alat (komputer yang digunakan), metode (yaitu program yang dimiliki), dan sifat unik dari soal yang dihadapi, sebab dalam praktek soal-soal memiliki tingkat kesulitan yang berbeda-beda:  ada soal yang relatif sangat gampang, ada yang sulit, tetapi juga ada soal yang sangat sulit.


Model komputasi awal :

Model komputasi sekarang :



Contoh hal / proses yang dapat dikomputasikan:
•    Digunakan sebagai pemecahan kasus pada bidang ilmu Fisika secara sederhana
•    Sebagai Tomografi yang berbentuk analitik dari 2-D mapping
•    Menghitung suatu persamaan
•    Membantu memecahkan suatu masalah
•    Scanning
•    Sistem pakar
•    Membuat grafik 3D
•    Kecerdasan buatan
•    Perhitungan numerik
•    Games
•    Algoritma
•    Formula
•    Persamaan Linier
•    Persamaan Kuadrat
•    Persamaan Pangkat Tiga
•    Bilangan
•    Operasi Matematika
•    Data
•    Informasi
•    Character

Pesan "error while fetching stats" pada Blogspot

"There was an error while fetching stats. Please reload page."

BelangTelon | Kalimat yang muncul ketika sebuah blog tidak bisa menamplkan data statistik pengunjung pada blognya. Sebuah kalimat sederhana "error while fetching stats" yang bisa membuat pusing kepala bagi yang punya blog. Setelah mencari-cari pada help forum google maupun dari beberapa blog tetangga tetap saja belum menemukan solusi bagaimana pemecahan masalahnya. Setelah baca disana-sini kebanyakan yang mengalami hal tersebut setelah melakukan perubahan pada blognya. Ada yang bilang harus menghapus cache pada browser tapi tetap saja tidak akan membantu. Buka dengan beberapa browser yang berbeda tetap juga hasilnya sama saja. Iseng-iseng buat meningkatkan optimasi blog dengan SEO salah satunya dengan mendaftarkan blog ke sitemap pada http://www.google.com/webmasters/. Setelah beberapa tambahan pada blog ternyata bukannya tambah bagus, malah statistiknya hilang.
Mungkin masih bisa dilihat dengan menggunakan https://www.google.com/analytics/ tapi hal itu bukannya suatu solusi pemecahan masalahnya bukan ^_^".

Kalo pengalaman pribadi setelah mangalaminya, coba mengembalikan perubahan blog seperti sebelumnya dan ternyata bisa muncul kembali statistiknya. Dari menghapus tambahan/perubahan yang terdapat dalam template sendiri maupun dari http://www.google.com/webmasters/ dengan menghapus semua blog yang udah didaftarkan.

Maaf jika tidak ada referensi yang mendukung, namanya saja pengalaman pribadi ya kan^_^". Jadi tidak ada salahnya kalo melakukan backup sebelum melakukan perubahan pada blog kalian kan????

Algoritma digital differential analyzer (DDA)

BelangTelon | Prinsip algoritma ini adalah mengambil nilai integer terdekat dengan jalur garis berdasarkan atas sebuah titik yang telah ditentukan sebelumnya(titik awal garis).

Keuntungan utama dari DDA atas Differential analog konvensional analyzer adalah presisi yang lebih besar dari hasil dan kurangnya drift / noise / slip / lash dalam perhitungan. presisi ini hanya dibatasi oleh ukuran register dan hasil accumulated rounding, yang mengakibatkan kesalahan pemotongan / penambahan berulang.

Untuk masalah yang dapat dinyatakan sebagai persamaan diferensial, sebuah DDA dapat menyelesaikannya lebih cepat daripada general purpose computer  seperti personal computer (menggunakan teknologi serupa). Namun pemrograman ulang sebuah DDA untuk memecahkan masalah yang berbeda (atau memperbaiki bug) jauh lebih sulit daripada pemrograman pada general purpose computer . Banyak DDA yang dibuat untuk satu masalah saja dan tidak bisa diprogram ulang tanpa mendesain ulang DDA tersebut.

Algoritma pembentukan garis DDA:
1) Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2) Tentukan salah satu titik sebagai awal(x0,y0) dan titik akhir(x1,y1).
3) Hitung dx=x1­x0, dan dy= y1­y0.
4) Tentukan langkah, yaitu dengan cara jarak maksimum jumlah penambahan nilai x maupun nilai y, dengan cara :
*Bila nilai absolut dari dx lebih besar dari absolut dy, maka langkah= absolut dari dx.
*­Bila tidak maka langkah= absolut dari dy
5) Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah, dan
y_increment=dy/langkah
6) Koordinat selanjutnya (x+x_increment, y+y_increment)
7) Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut.
8) Ulangi nomor 6 dan 7 untuk menentukan posisi pixel selanjutnya,sampai x=x1
dan y=y1.

Dibawah ini adalah contoh souce code penggunaan DDA Line menggunakan Java.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
import javax.swing.JFrame;

public class LineDda extends JPanel {
    private int x0, y0, x1, y1;

    public LineDda() {
    }

    public LineDda(int x0, int y0, int x1, int y1) {
        setX0(x0);
        setY0(y0);
        setX1(x1);
        setY1(y1);
    }
   
    public void paintLine (int x0, int y0, int x1, int y1){
        JFrame frame = new JFrame("Line DDA");
        frame.add(new LineDda(x0, y0, x1, y1));
        frame.setSize(250, 200);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);       
    }
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
//        g2d.setColor(Color.blue);
        int dx,dy,steps;
        int xInc,yIncrement,x,y;
        dx= x1-x0;
        dy = y1 - y0;
        if (Math.abs(dx) > Math.abs(dy)){
            steps = Math.abs(dx);
        }
        else{
            steps = Math.abs(dy);   
        }
        xInc = dx / steps;
        yIncrement = dy / steps;
        x = x0;
        y = y0;
        g2d.drawLine(Math.round(x), Math.round(y),Math.round(x),Math.round(y));
        for (int i = 0; i< steps ;i++){
            x += xInc;
            y += yIncrement;
            g2d.drawLine(Math.round(x), Math.round(y),Math.round(x),Math.round(y));
        }
       
    }

    public int getX0() {
        return x0;
    }

    public void setX0(int x0) {
        this.x0 = x0;
    }

    public int getY0() {
        return y0;
    }

    public void setY0(int y0) {
        this.y0 = y0;
    }

    public int getX1() {
        return x1;
    }

    public void setX1(int x1) {
        this.x1 = x1;
    }

    public int getY1() {
        return y1;
    }

    public void setY1(int y1) {
        this.y1 = y1;
    }

}

Jika ingin mendapatkan file lengkapnya, silakan download disini

Deret fibonacii dengan sisipan kata

Pada posting kali ini membahas sebuah source code dari C++ yang akan menampilkan sebuah deret fibonacci dengan sisipan sebuah kata. Banyak deret dan posisi dimana sisipan tersebut diletakkan pada deret ditentukan oleh user berupa inputan angka. Pada program ini kata yang menjadi sisipan sudah ditentukan didalam source code. Tetapi jika ingin membuat kata tersebut menjadi sebuat inputan dati user, maka harus melakukan modifikasi dengan mengganti kata yang akan dicetak menjadi sebuah variabel string. 

Tampilan program yang sudah dijalankan akan seperti dibawah ini :


Flowchart dari program tersebut :

Berikut adalah source code C++ untuk tampilan program tersebut :

#include
#include
 

int main(){
       int n,m;
       int a=0;
       int b=1;
       int c; 

       cout<<"masukkan banyak deret : ";
       cin&>>n;
       cout<<"batas sisipan : ";
       cin>>m;
        cout<<b<<" ";
       
for (int i=1;i
            c=a+b;
                 if((i+1)%m==0){
                     cout<<"abu ";
                 }else{
                cout<<<" ";
                 }
            a=b;
            b=c;
        }
        cout<
   getch();
}    

Segitiga Pascal Angka C++

Belang Telon | Dibawah ini adalah souce code C++ untuk menampilkan segitiga pascal dengan batas merupakan masukan dari user dan komponen segitiga tersebut berupa angka yang membentuk sebuah piramida seperti dibawah ini.




Source Code


#include
#include
int main(){
    int nilai,a;

   cout<<"masukkan batas : ";
   cin>>nilai; // batas banyak piramid segitiga pascal
    for (int i=0; i<=nilai; i++){
        for (int k=0; k<=((2*nilai)-(2*i)); k++){ // looping untuk mencetak spasi
            cout<<" ";
        }
        for (int j=0; j<=i; j++){ // looping untuk mencetak angka pada komponen segitiga pascal
            if (j==0||i==j){
                a=1;
            }else{
                a=a*(i+1-j)/j;
            }
            cout<<"   "<
        }
      cout<
    }
   getch();
}

Konversi Kalender

Dibawah ini adalah script C++ sederhana untuk menampilkan konversi kalender. Dari sebuah masukan oleh user berupa satuan minggu menjadi hari, bulan, dan tahun.
Source Code
#include
#include

int main(){
     float h,b,t,m;

   clrscr();
   cout<<" PENGHITUNGAN KALENDER";
   cout<<"Jumlah Minggu : ";
   cin>>m;

   h=7*m; // konversi dari minggu ke hari
   b=m/4; // konversi dari minggu ke bulan
   t=m/48; // konversi dari minggu ke tahun

   cout<<<" Minggu = "<<<" tahun = "<<<" bulan = "<<<" hari";

   getch();
}

Elicitation Techniques

Belang Telon | Elicitation techniques (elicitation) is the way the researchers in collecting information or data. Most of the crucial questions that often arise with regard to research reports that use the elicitation procedure is how the status information (data) obtained by the researchers (such as language production or comprehension, strategies, processes, Attitudes, opinions or practices) which may be varied according to the nature task (task) and the context of the task given to respondents. What was seen by participants as the purpose of a particular task, their cultural background, their position statement and the context of situational factors, it may also affect the information obtained by investigators.
Sociotechnical Methods is one of several elicitation techniques. There are several techniques in the elicitation as below :

Elicitation Techniques
  • Traditional techniques
    • Introspection
    • Reading existing documents
    • Analyzing hard data
    • Interviews
      • Open-ended
      • Structured
    • Surveys / Questionnaires
    • Meetings
  • Collaborative techniques
    • Group techniques
      • Focus Groups
      • Brainstorming
    • JAD/RAD workshops
    • Prototyping
    • Participatory Design
  • Cognitive techniques
    • Task analysis
    • Protocol analysis
    • Knowledge Acquisition Techniques
      • Card Sorting
      • Laddering
      • Repertory Grids
      • Proximity Scaling Techniques
  • Contextual approaches
    • Ethnographic techniques
      • Participant Observation
      • Enthnomethodology
    • Discourse Analysis
      • Conversation Analysis
      • Speech Act Analysis
    • Sociotechnical Methods
      • Soft Systems Analysis

Shalat Hajat

Shalat Hajat is the Shalat of voluntary intent to do because there is an intent or purpose of which is very  important, so that what was needed was immediately granted by ALLAH Almighty.
While the work is voluntary Mu'akkad law, which is highly recommended for voluntary work for people who need them. As which has been described in the word of Allah which means:
"O those who believe, seek help (to ALLAH) with patience and sholat, for Allah is with those who patiently
(Surat al-Baqara: 153)
And also the word - in his letter Yusuf verse 87 which means:
"And do you despair of the Mercy of Allah, for verily none despair of the Mercy of Allah, except those who disbelieve"
In a hadith which in riwayatkan by Imam Ibn Majah Turmudzi and 'Abdullah bin Abi Auf ra also explained, that Rasull SAW had said what means:
"He who has the intent (the need) to ALLAH or to one of the sons of Adam, let him wudhunya perfect ablution and then shalat two rakaat, then let him say praise to ALLAH and say shalawat to the Prophet SAW, and then let him pray.
B. The virtue of Shalat Hajat
As with other voluntary shalat sunnat, shalat sunnat hajat also has also has a very big priority, that is for people who always start the good deeds with shalat sunnat hajat first then he will get a huge response at all, it is Allah's heaven As already described in the Hadiths of the Prophet SAW, which means:
"... That the Prophet once said to Bilal, after the shalat Shubuh as follows:
"O Bilal, tell me are you working in the practice of Islam is full of hope because I heard your sandals in front of me in heaven." Bilal replied that I never did an act which I expect kindness, but certainly I ablutions before, whether it is time night or day. After purification I shalat as much as I do I can do. " (HR. Imam Bukhari and Muslim)

Method class sebagai database

Program aplikasi untuk menampilkan jadwal mata kuliah yang menggunakan method-method yang ada dalam class sebagai pengganti dari database yang menyimpan informasi dari semua data-data jadwal kuliah mulai dari data hari, jam, mata kuliah beserta dosen yang mengajar mata kuliah tersebut.
Class yang digunakan merupakan public class yang mempunyai beberapa private method dan sebuah public method. Penggunaan private method ini dimaksudkan agar method tersebut tidak dapat diakses oleh class luar. Private method tersebut adalah :
• private method iGetHari
Berisi hari-hari aktif perkuliahan.
• private method iGetJam
Berisi jam mata kuliah.
• private method iGetMatkul
Berisi mata kuliah semester 3 kelas H sore sesuai dengan paket dari jurusan.
• private method iGetDosen
Berisi nama-nama dosen yang mengajar mata kuliah.

Untuk mengambil nilai dari method-method diatas menggunakan sebuah public method pGetInfo. Didalam method ini terdapat source code yang akan mengambil nilai return dari private method dan akan menampilkan hasilnya sebagai nilai return dari method.
Penggalan source code class yang digunakan :
public class param{
private static String iGetHari(int n){
String[] hari={"Senin","Selasa","Rabu","Kamis","Jum'at"};
return hari[n];
}
private static String iGetJam(int n){
String[] jam={"16.00-17.40","18.00-19.40","19.40-21.00"};
return jam[n];
}
private static String iGetMatkul(int n){
String[] matkul={"PBO","Aljabar Linier","Struktur Data","Statistika","Sistem Op.","Ars. Komp."};
return matkul[n];
}
private static String iGetDosen(int n){
String[] dosen={"Al","Za","Bu","Ira","An","Su"};
return dosen[n];
}
public static String pGetInfo(int n){
int xx=0;
int zz;
if(n==0){
return (iGetHari(n)+"\n"+iGetJam(xx+1)+"\n"+iGetMatkul(zz=1)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+2)+"\n"+iGetMatkul(zz=2)+"\t"+iGetDosen(zz));
}else if(n==1){
return (iGetHari(n)+"\n"+iGetJam(xx)+"\n"+iGetMatkul(zz=5)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+1)+"\n"+iGetMatkul(zz=3)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+2)+"\n"+iGetMatkul(zz=4)+"\t"+iGetDosen(zz));
}else if(n==2){
return (iGetHari(n)+"\n"+iGetJam(xx)+"\n"+iGetMatkul(zz=1)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+2)+"\n"+iGetMatkul(zz=0)+"\t"+iGetDosen(zz));
}else if(n==3){
return (iGetHari(n)+"\n"+iGetJam(xx)+"\n"+iGetMatkul(zz=5)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+1)+"\n"+iGetMatkul(zz=3)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+2)+"\n"+iGetMatkul(zz=4)+"\t"+iGetDosen(zz));
}else if(n==4){
return (iGetHari(n)+"\n"+iGetJam(xx+1)+"\n"+iGetMatkul(zz=0)+"\t"+iGetDosen(zz)
+"\n"+iGetJam(xx+2)+"\n"+iGetMatkul(zz=3)+"\t"+iGetDosen(zz));
}
return iGetHari(n);
}
}

Grammar pada Teori Bahasa Otomata

Grammar Klas 0 :
Unrestricted Grammar : Aturan-aturan sintaktik (productions) yang digunakan untuk membentuk kalimat tidak mempunyai batasan yang jelas.
Contoh :
G = ({S, A, B, C, D}, {a, b}, S, q), dengan q adalah :
S ® CD Aa ® aA C ® e
C ® aCA | bCB Ab ® bA D ® e
AD ® aD Ba ® aB
BD ® bD Bb ® bB
Bahasa yang didefinisikan grammar di atas adalah :
L(G) = { ww | w Î {a, b}}
Grammar Klas 2 :
Context-Free Grammar (CFG) : Grammar dengan production yang berbentuk a ® b, dimana |a| £ |b| dengan a Î Vn dan |a| = 1. Dengan demikian, production-production pada klas grammar ini hanya memiliki satu non-terminal di sisi kiri setiap productionnya. Bahasa yang didefinisikan oleh CFG ini disebut Context-Free Language.
CFG merupakan satu-satunya klas grammar yang telah memiliki algoritma parsing yang optimal. Sehingga hampir semua bahasa pemrograman menggunakan CFG untuk mendefinifikan aturan-aturan sintaktik bahasanya.
Contoh : Bahasa = { an b an | n ³ 1 } didefinisikan melalui grammar berikut :
S ® aCa
C ® aCa | b
Derivasi untuk input string a3 b a3 adalah sebagai berikut :
S Þ aCa Þ aaCaa Þ aaaCaaa Þ aaabaaa
Grammar Klas 3 :
Regular Grammar : Grammar dengan production yang berbentuk a ® b, dimana |a| £ |b| dengan a Î Vn dan |a| = 1. Sedangkan b mempunyai bentuk aB atau a (a Î VT dan B Î VN). Bahasa yang didefinisikan oleh Regular Grammar ini disebut Regular Language.
Bahasa pemrograman yang menggunakan aturan sintaktik bahasa regular ini antara lain adalah javascript, perl, dll.
Contoh : Bahasa = { an b am | n ³ 1 } didefinisikan melalui grammar berikut :
S ® aS | aB
C ® aC | a
B ® bC
Derivasi untuk input string a3 b a2 adalah sebagai berikut :
S Þ aS Þ aaS Þ aaaB Þ aaabC Þ aaabaC Þ aaabaa

Bandwidth Managemen

Belang Telon | Jaringan komputer saat ini sangat dibutuhkan untuk menghubungkan berbagai instansi pemerintahan, kampus, dan bahkan untuk bisnis dimana banyak sekali perusahaan yang memerlukan informasi dan data-data dari kantor-kantor lainnya dan dari rekan kerja, afiliasi bisnis, dan konsumen.

Sering kali terjadi permasalahan pada jaringan komputer antara lain data yang dikirimkan lambat, rusak dan bahkan tidak sampai ke tujuan. Komunikasi sering mengalami time-out, hingga masalah keamanan. Oleh sebab itu, jaringan komputer memerlukan sebuah router, yaitu alat yang berfungsi sebagai pengatur jalur lalu-lintas data sehingga tepat pada sasarannya. Router mampu menjawab tantangan daripada permasalahan jaringan komputer itu sendiri. Dengan berbagai fasilitas yang dimiliki router, maka komunikasi pada jaringan komputer dapat berjalan dengan baik.
Namun, harga router tidak murah, hal ini sesuai dengan kinerja yang dihasilkan dari router itu sendiri. Hingga ditemukannya sebuah solusi yaitu Sistem Operasi yang dikhususkan untuk networking, yaitu MikroTik Router OS yang terbukti murah dan handal dalam melakukan kerjanya sebagai router. Banyak digunakan di ISP (Internet Service Provider) sebagai Limit bandwidth, router pada warnet, Gateway pada Kantor, hingga pada kafe sebagai hotspot.