Selasa, 16 September 2014

Rekayasa Perangkat Lunak

1. Pengertian dari Perangkat Lunak adalah kumpulan beberapa perintah komputer yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya yaitu memproses informasi. perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya. Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi bisa di operasikan.
2. Pengertian Rekayasa Perangkat Lunak (RPL) adalah aplikasi ilmu komputer untuk membangun sistem perangkat lunak praktis yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
3. Perbedaan perangkat lunak dengan ilmu komputer Ilmu komputer seringkali didiskripsikan sebagai suatu studi sistematis pada proses-proses algoritma yang menjelaskan dan mentransformasikan informasi seperti halnya di sini adalah teori, analisis, disain, efisiensi, penerapan dan aplikasinya. Sedangkan perangkat lunak merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Jadi perangkat lunak itu dapat berupa program atau prosedur. Perbedaan antara RPL dengan ilmu komputer adalah Intinya, imu komputer berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
4. Perbedaan rekayasa perangkat lunak dengan rekayasa sistem Rekayasa system mempunyai pengertian suatu sistem yang mampu memilih alat bantu yang baik dalam perencanaan maupun dalam penerapan perangkat lunak dan memiliki teknik yang baik untuk menilai kualitas dari perangkat lunak yang dihasilkan, serta mampu mengkoordinasikan, mengontrol, dan mengatur pelaksanaan pekerjaan pembuatan perangkat lunak. Sedangkan rekayasa pernagkat lunak itu adalah aplikasi dari ilmu computer yang membangun system perangkat lunak yang nantinya perangkat lunak itu akan dipilih kualitas dan tekniknya oleh rekayasa system. Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem. Perbedaan RPL dengan Rekayasa Sistem intinya Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.
5. Proses perangkat lunak sebagai berikut Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4 kegiatan/aktivitas pada proses PL : 
  • Spesifikikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
  • Pengembangan Perangkat Lunak : Perangkat lunak yang memenuhi spesifikasi harus di produksi.
  • Validasi Perangkat Lunak : Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
  • Evolusi Perangkat Lunak : Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
6. Model proses perangkat lunak
  • Model aliran kerja (workflow) : menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
  • Model aliran data (data flow) : merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
  • Model peran/aksi : merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
  • Model atau paradigma umum pada proses PL Model air terjun (waterfall) : Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
  • Pengembangan evolusioner : Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.
  • Pengembangan Sistem Formal : Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
  • Pengembangan berdasarkan pemakaian ulang (Reusable) : Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
7. Metode rekayasa perangkat lunak Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC)
  • Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah.
  • Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing – maintenance
  • Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
  • Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
  • Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain.
8. Computer-aided software engineering Adalah suatu system untuk menunjang pengembangan software sehingga informasi yang diciptakan oleh satu alat dapat digunakan oleh alat lain.

Senin, 02 Juni 2014

Tutorial Penyettingan Hotspot Mikrotik

1. Pastikan Mouter Mikrotik sudah terhubung dengan PC (O/S Windows)
2. Buka Aplikasi Winbox, maka akan muncil seperti ini



gambar 1

3. klik MAC Address Router Mikrotik
Contoh 00:0C:29:3D:21:C6  KLIK PADA BAGIAN ITU
 

gambar 2

4. Klik Connect lalu tunggu loading sampai selsai kemudian kolom password kosongkan saja bila belum di password




gambar 3

5. Jika login berhasil maka akan masuk ke-sini
 

gambar 4

6. Konfigurasi IP Address
   klik ip ---> Address

gambar 5

7. Akan masuk ke form dibawah ini kemudian klik tanda + untuk mengisikan IP Address


gambar 6

 cara menyeting IP adress beserta interface yang kita buat. 
isikan ip adress misal :
Ip adress 172.10.68.125/24
Network 172.10.68.0
Interface mengunakan pengaturan ether1

Pada gambar 7

 
gambar 8

8. Konfigurasi DNS. disini saya memakai DNS Google8.8.8,8
klik IP ---> DNS
isi DNS pada form serverkemudian klik OK


gambar 9

9. Selsai mengkonfigurasi IP setiap ether, sekarang akan membuat Hotspot
IP --> Hotspot --> Hotspot Setup
 keluar gambar sbb:

gambar 10


10. Klik next karena IP interface Wifi Hotspot sudah seperti yang telah dikonfigurasi centang pada masquerade network.

gambar 11

11. Setelah itu muncul konfigurasi Address Pool. Tentukan dari beberapa IP sambai beberapa IP yang akan digunakan pada wifi Hotspot. Contoh : 192.168.253.10-192.168.1.100


gambar 12

12. Lalu konfigurasi SSL. jika tidak menggunakan SSL, pada select Certificate, pilih saja none lalu klik next.


gambar 13

13. Setelah itu konfigurasi IP SMTP Server. jika tidak memiliki SMTP Server, maka langung Next.


gambar 14
14. Selanjutnya adalah konfigurasi DNS, isikan 8.8.8.8 (DNS google) kemudian klik next.


gambar 15

15. DNS Name di kosongkan saja, lalu klik next.


gambar 16

16. Sekarang adalah tahap membuat user Hotspot Login nama, penulis membuat user :admin dan password : kosong(atau boleh di isikan jika ingin di password) kemudian next








18. Hotspot yang berhasil dibuat

Praktikum SA10 #Algoritma KMP

#include <cstdlib>
#include <iostream>

using namespace std;

void HitungPinggiran(char P[], int b[],int m){
    int k,q;
    b[1]=0;   
    q=2;
    k=0;
    while(k<0){
        if(P[q]==P[k+1]){
            k=b[k];
            k++;
            q++;
        }else if(q>0){
            P[q]=P[k-1];
            k=k+1;
        }else {
            b[q]=k;
            k++;
        }
    }
}

int KMPsearch(char t[], char p[]){
    int i,j,b[100];   
    int m=strlen(p);
    int n=strlen(t);
    HitungPinggiran(p,b,m);
    j=0;
    i=1;
    while(i<n){
        if(t[i]==p[j+1]){
            if(j==m-1)
                return i-j;
            else{
                i++;
                j++;
            }
        }else if(j>0){
            j=b[j];
        }else{
            i++;
        }
    }
    return -1;
}


int main()
{
    char t[1000],p[100];

    while(gets(t)){
        gets(p);
        int pos=KMPsearch(t,p);
        if(pos!=-1)
            cout<<"posisi : "<<pos<<endl;
        else
            cout<<"tidak ketemu"<<endl;

    }
   
return 0;
}

Minggu, 01 Juni 2014

TUTORIAL WEB SERVER PADA LINUX

*Pertama masuk ke root
        -$ su
*Kemudian install apache, mysql-server, php
       # yum install apache mysql-server php
*Jalankan installan tersebut
       # service httpd start
*Masuk ke direktori
       # cd /var/www/html
*Melihat direktori yang ada sebelumnya
       # ls
*Membuat direktori baru (misal : 12018009)
       # mkdir 12018009
*Melihat direktori yang baru dibuat
       # ls
*Masuk kedirektori yang baru dibuat
       # cd 12018009
*Membuat file baru didalam direktori  (misal : info.php)
       # touch info.php
*Mengisi file yang baru dibuat
       # nano info.php
  Keterangan : didalam nano kita isi file (misal : Halo, ini web server saya)
*Melihat file yang baru dibuat
       # ls
*Untuk me-rename nama file
       # mv info.php index.php
*Lihat lagi hasil setelah di-rename
       # ls
*Melihat hak akses
      # ls -l
*Untuk merubah hak akses
      #chmod 444 index.php

^Keterangan :
      r = read : 4
      w = write : 2
      x = excution : 1

Senin, 19 Mei 2014

TUTORIAL BIND9 PADA LINUX UBUNTU

 #Pertama, install bind9.

    apt-get install bind9

#Masuk ke direktori bind

    cd /etc/bind

#Buka file named.conf.local

    nano named.conf.localhost

#Lalu tambahkan konfigurasi berikut

    zone "nungky009.com" {
    type master;
    file "/etc/bind/db.nungky009";
    }

    zone "192.10.68.128.in-addr.arpa" {
    type master;                                                                                                                          file "/etc/bind/db.192";
    }

Penjelasannungky009 : alamat website anda
47.168.192: alamat ip dns. Di sini saya menggunakan konfigurasi dari eth1 yaitu lan card yang terhubung ke client. Konfigurasi saya pada eth1 adalah ip: 192.168.10.128 subnetmask: 255.255.255.0 gateway: 192.168.10.128 dns:192.168.10.128
#Setelah itu buat file konfigurasi

    cp db.localhost db.nungky009    cp db.172 db.192

#Edit file db.nungky009

    nano db.nungky009
#Lalu setting konfigurasi sebagai berikut

    $TTL 604800
    @ IN SOA nungky009.com. root.nungky009.com. (
      20140518; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    @ IN NS ns.nungky009.com.
    @ IN A 192.168.10.128    localhost IN A 127.0.0.1
    www IN A 192.168.10.128    ns IN A 192.168.10.128

#Edit file db.192
         nano db.192

#Lalu setting sebagai berikut

    $TTL 604800
    @ IN SOA nungky009.com. root.nungky009.com. (
      20140518; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    IN NS ns.nungky009.com
    2 IN PTR nungky009.com.


#Settingan terakhir yaitu forwarder

    nano named.conf.options

#Edit forwarders sesuai dengan settingan. Hilangkan tanda //

    forwarder {
    192.168.10.128;
    124.81.119.50;
    }

Penjelasan:
192.168.10.128 : ip dns
124.81.119.50 : dns dari eth0 yang saya gunakan untuk koneksi ke internet

#Kemudian edit juga file resolv

    nano /etc/resolv.conf

Tambahkan baris nameserver 192.168.1.1 di baris pertama
Langkah terakhir yaitu restart bind9

    /etc/init.d/bind9 restart

#Setelah itu coba ping alamat dns anda.

    ping nungky009.com

Jika muncul reply, berarti konfigurasi dns berhasil. Jika belum silahkan cek kembali langkah di atas. Pengalaman saya, salah spasi satu aja bisa berakibat dns tidak berjalan. Jadi harus teliti.

Senin, 07 April 2014

Program Penjadwalan Pelanggan

#include <cstdlib>
#include <iostream>
#include<conio.h>
using namespace std;

void input(float bil[], int n){
cout<<endl;
for(int c=1;c<=n;c++){
cout<<"Waktu"<<c<<" : ";cin>>bil[c];  } }

void urut(float bil[], int n){
for(int c=1;c<=n;c++){
for(int a=(n);a>=0;a--){
if(bil[a]<bil[a-1]){
int temp;
temp=bil[a];
bil[a]=bil[a-1];
bil[a-1]=temp;  }    }
}
}

void cetak(float bil[], int n){
cout<<"\nUrutan waktu Dari Tercepat"<<endl;
cout<<"------------------"<<endl;
for(int c=1;c<=n;c++){
cout<<bil[c]<<" ";}

getch();}

int main(int argc, char *argv[]){
int n;
float bil[100];
cout<<"\tProgram penjadwalan pelanggan\n\n";
cout<<"banyak pelanggan: ";cin>>n;
input(bil,n);
urut(bil,n);
cetak(bil,n);

system("PAUSE");
return EXIT_SUCCESS;
}

Senin, 24 Maret 2014

BASIS DATA

Tugas Individu

1.    Abstraksi data 
Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari.

2.    Pengguna Basis Data
Pengguna database atau basis data dibedakan menjadi beberapa golongan, tergantung tingkat kepentingan seorang pengguna. Berikut adalah golongan tersebut:
·         System Engineer
Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada pihak penjual.
·          Database Administrator (DBA)
Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan mengaturnya.
Tugas DBA
- Mengontrol DBMS dan software-software
- Memonitor siapa yang mengakses basis data
- Mengatur pemakaian basis data
- Memeriksa security, integrity, recovery dan concurency
Program Utilitas yang digunakan oleh DBA
- Loading Routines. Membangun versi utama dari basis data
- Reorganization Routines. Mengatur / mengorganisasikan kembali basis data
- Journaling Routines. Mencatat semua operasi pemakaian basis data
- Recovery Routines. Menempatkan kembali data, sebelum terjadinya  
   kerusakan
- Statistical Analysis Routines. Membantu memonitor kehandalan sistem 
·         End User (Pemakai Akhir)
Ada beberapa jenis (tipe) pemakai terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap sistem :
- Programmer Aplikasi
Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalam program yang ditulis pada bahasa pemrograman induk (seperti C, pascal, cobol, dan lain-lain).
- Pemakai Mahir (Casual User)
Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS.
- Pemakai Umum (End User / Naïve User)
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis (disediakan) sebelumnya.
- Pemakai Khusus (Specialized / Sophisticated User)
Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra, dan lain-lain, yang bisa saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.
3.    Referensial Integrasi
Referensial integrasi dalah sebuah aturan aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel tabel yang berada dalam sebuah basis data relasional untuk menjaga konsistensi data.
4.    Cascade Delete
Cascade delete adalah setiap penghapusan pada Primary Key di tabel utama, maka secara otomatis mengubah menghapus nilai-nilai record-record yang berhubungan/bereleasi dengan tabel utama.
5.    Cascade Update
Cascade Update adalah setiap perubahan pada Primary Key di tabel utama, maka secara otomatis mengubah nilai pada record-record yang berhubungan/berelasi dengan tabel utama.