Sabtu, 30 November 2013

Tugas Pemrograman Internet

1. Buat aplikasi PHP kasus kalkulator untuk operator penjumlahan,pengurangan,perkalian,pembagian,modulus.

  • Pertama buat file html nya seperti ini :
  • Lalu buat file php nya seperti ini :

  • Buka di localhost atau upload di hosting anda. Hasilnya akan tampil sbb : 



2. Buat deret angka genap dari 0-100

  • Buat file php nya seperti ini :

  • Buka di localhost atau upload di hosting anda. Hasilnya akan tampil sbb :


3. Buat deret bilangan prima dari 1-100

  • Buat file php nya seperti ini :

  • Buka di localhost atau upload di hosting anda. Hasilnya akan tampil sbb :



4. Buat generate untuk membuat kotak dengan input jumlah baris dan kolommenggunakan input form.

  • Buat file php nya seperti ini :

  • Buka di localhost atau upload di hosting anda. Hasilnya akan tampil sbb :

Kamis, 17 Oktober 2013

Laporan Analisa Perancangan Sistem (Pemrograman Internet)

             Pada tugas pemrograman internet tema yang saya pilih adalah admission. Admission disini terdiri dari beberapa tahapan,yaitu :
1. Mendaftar melalui form pendaftaran di web.
2. Verifikasi Berkas ( Lampiran berkas sesuai data yang diminta di form pendaftaran).
3. Proses input nilai ujian.
4. Proses pemeringkatan.
5. Posting pengumuman.
             Admission yang saya ambil disini adalah Pendaftaran Siswa Baru secara Online pada sebuah Sekolah Menengah Atas. Jadi, alurnya dimulai dari pendaftar membuka alamat web kemudian mendaftar (mengisi form pada web, seperti : data pribadi sampai data nilai/NEM ) setelah mengisi form pendaftaran, peserta diwajibkan memverifikasi berkas(melampirkan file berkas yang diminta) setelah itu admin yang akan memproses nilai ujian. Nilai ujian disini adalah NEM pendaftar pada waktu SMP. NEM ini yang nantinya akan jadi tolak ukur diterima atau tidaknya pendaftar di SMA ini. Apabila ada kasus seperti, 2 pendaftar yang memiliki nilai sama tetapi kuota penerimaan hanya tersisa untuk satu orang, maka ada pertimbangan lain untuk meloloskan pendaftar yaitu dengan mempertimbangkan rata-rata nilai raport siswa. Setelah itu nilai-nilai yang sudah masuk di database nilai akan di urutkan dari yang terbesar sampai yang terkecil sampai maksimal batas kuota yang ada. Pengurutan ini disebut proses pemeringkatan. Dari proses pemeringkatan ini akan diketahui jumlah pendaftar yang lulus dan tidak lulus. Kemudian admin akan mempostingnya di web. Pendaftar dapat melihat hasil pengumuman di web dengan login (memasukkan nama serta nomor peserta yang didapat ketika mendaftar pertama kali).
                Di bawah ini adalah diagram usecase untuk pendaftar.



Rabu, 25 September 2013

Tugas Pemrograman Internet 2

A. Membuat Hosting dan Domain


Disini saya memakai layanan idhostinger.com (free). Langkah-langkahnya adalah sbb :

1. Buka www.idhostinger.com
2. Pilih order sekarang



3. Buat akun disana terlebih dahulu, setelah anda buat akun anda akan mendapat email.

4. Cek email anda dan verifikasi akun anda dengan membuka link aktivasi akun dari email anda.
5. Yap!anda telah memiliki akun disana,dan anda akan ditawarkan halaman order hosting(pilih gratis saja).
6. Anda akan disuguhi form tentang pembuatan domain/sub domain. Isi sesuai keinginan.
7. Klik "buat" dan tunggu hingga proses selesai.
8. Anda akan mendapat konfirmasi di email apabila domain sudah jadi atau anda bisa mencoba membuka alamat domain anda,alamat akan terbuka bila anda berhasil! (:


B. Dokumentasi Latihan 1 dan Latihan 2









Jumat, 13 September 2013

TUTORIAL INSTALASI APACHE WEB SERVER,PHP,MYSQL DI LAPTOP

  • Download apache di httpd.apache.org/download.cgi
  • Scrool down dan cari Win32 Binary without crypto(no mod_ssl) (MSI Installer),download yang  httpd-2.2.25-win32-x86-no_ssl.msi
  • Mulai install apache,klik next-kemudian pilih "I accept the terms in the license agreement" lalu next -> klik next kembali -> isi localhost untuk network domain dan server name nya,pada administrator's email address tulis webmaster@localhost lalu klik next -> pilih typical lalu next -> kemudian akan muncul tempat apache diinstall(biasanya didalam C:\ProgramFiles,atau agar lebih rapi dan terstruktur buatlah folder baru di direktori C dengan nama Apache), klik next -> klik Install dan tunggu,apabila proses di interrupt oleh anti virus atau program lain dalam laptop,klik continue(mengizinkan aplikasi apache) -> setelah selesai klik "Finish"
  • Untuk mengetest apakah apache berhasil di install, buka browser dan masukkan http://localhost/ di address bar kemudian enter,jika terdapat tulisan "It works!" maka artinya apache telah sukses terinstall di laptop anda

  • Setelah apache terinstall,sekarang mulailah menginstall php
  • Buka link http://windows.php.net/download/
  • Scroll down dan cari "VC9 x86 Thread Safe",kemudian download (format zip)
  • Buka tempat dimana anda menyimpan folder php yang telah di download,cari file bernama php.ini-development kemudian copy file tersebut dan paste di direktori yang sama lalu rename file ini menjadi php.ini ,windows akan menanyakan apakah anda ingin mengubah extension filenya dan klik yes
  •  Selanjutnya,konfigurasikan apache web server untuk instalasi php
  • Ke All Programs -> Apache HTTP Server 2.2 -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File,file akan terbuka di notepad
  • Di bagian "LoadModule" tambahkan LoadModule php5_module "c:/PHP/php5apache2_2.dll"
  •  Di bagian "AddType" tambahkan AddType application/x-httpd-php.php sebelum </IfModule> dan sesudah #AddOutputFilter INCLUDES.shtml
  •  Di bagian paling bawah httpd.conf ,tambahkan PHPIniDir "C:/PHP"
  •  Kemudian buat folder baru di direktori C dengan nama websites
  • Cari file DocumentRoot "C:/Apache/htdocs" di httpd.conf dan ubah menjadi DocumentRoot "C:/websites"
  •  Ubah <Directory "C:/Apache/htdocs"> menjadi <Directory "C:/websites">
  • Save file httpd.conf dan close notepad
  • Selanjutnya edit php.ini ,buka C:\PHP folder, klik kanan dan pilih "Open with" -> "Notepad" dan pastikan display_errors = On
  • Scroll down dan cari ; extension_dir = "ext" tambahkan extension_dir = C:\PHP\ext dibawahnya dan save
  • Restart laptop anda
  • Buka notepad dan tulis <?php phpinfo(); ?>
  • Save di C:/websites, pada save as type pilih All Files,pada file name isi phpinfo.php
  • Buka browser dan pada address bar tulis http://localhost/phpinfo.php dan akan terlihat detail dari PHP yang telah terinstall


  • Langkah selanjutnya adalah menginstall MySQL
  • Sebelum memulai kita harus tahu apakah laptop kita 32 bit atau 64 bit,cara mengetahuinya buka Control Panel->System and Security->System dan lihat di bagian System type
  •  Kemudian buka http://www.mysql.com/downloads/mysql/
  • Scroll down untuk mencari dan mendownload MSI installer yang sesuai dengan system type(32 bit atau 64 bit) 
  • Setelah didownload,run MySQL -> pilih Install MySQL Products -> pilih "I accept the license terms” lalu klik next -> pilih Custom installation -> klik Browse dan masukkan C:\MySQL sehingga MySQL akan tersimpan di folder MySQL bukan Program Files -> sekarang MySQL siap diinstall,klik execute,tunggu sampe proses selesai kemudian next -> pada bagian MySQL Server Configuration, di bagian Configuration type pilih Development Machine lalu klik next -> centang pada Enable TCP/IP Networking lalu next -> pada Root Account Password, isi password yang diinginkan pada kolom yang tersedia, lalu klik next -> klik next hingga configuration completed -> Jika telah selesai klik “Finish”
  • Untuk mengetest MySQL apakah sudah telah terinstall dengan baik, ke "All Programs" -> "MySQL" -> "MySQL Server 5.6 ,akan muncul "Enter Password" ,masukkan password anda dan enter maka akan muncul tampilan seperti di bawah ini :


  •  Lalu coba ketikkan show databases; setelah mysql> maka tampilan akan seperti di bawah ini :


  • Selanjutnya agar MySQL terhubung dengan Apache Web Server dan PHP maka kita harus mengedit konfigurasinya
  • Pada C:\PHP cari file php.ini dan open with -> notepad
  • Scroll down dan cari :
          ;extension=php_mysql.dll
          ;extension=php_mysqli.dll
  • Aktifkan extension tersebut dengan cara menghapus ";" (titik koma) yang berada di depannya. Sehingga menjadi :
          extension=php_mysql.dll
          extension=php_mysqli.dll
  • Save file tersebut dan restart laptop anda
  • Setelah di restart, buka notepad kemudian ketikkan :
 <?php $dbServer='localhost';
$dbUser='root';
$dbPass='xxxxx'; //Ganti xxxxx dengan password MySQL anda.
$dbName='test';
$link = mysql_connect("$dbServer", "$dbUser", "$dbPass") or die("Koneksi ke server gagal");
print "<h1>Koneksi ke MySQL berhasil!!!</h1>";
mysql_select_db("$dbName") or die ("Database tidak ditemukan"); print"<h2>Koneksi ke Database berhasil!!!</h2>";
mysql_close($link); ?>
  • Save file tersebut di C:\websites dengan nama index.php
  • Kemudian buka browser, pada address bar ketikkan http://localhost/index.php , kemudian enter, jika berhasil akan tampil seperti di bawah ini :

Minggu, 21 April 2013

REQUIREMENTS ENGINEERING


            Merupakan sebuah proses menetapkan layanan yang dibutuhkan customer dari sebuah sistem dan adanya batasan-batasan dari operasi dan yang dikembangkan. Biasanya juga disebut pernyataan abstrak tingkat tinggi.
            Menurut Davis (1993) Jika perusahaan mengharapkan proyek besar, kebutuhan harus didefinisikan dengan jelas. Kebutuhan harus ditulis, karena mungkin ada perbedaan jika bertemu lagi dengan klien. Biasanya disebut juga dengan kontrak.

Ø    Tingkatannya :
      a. User Requirements / Kebutuhan User : Pernyataan alami dilengkapi diagram layanan yang disediakan sistem,ada batasan-batasan operasi dan ditulis untuk customer.
Readersnya : Client Managers, System End-Users, Client Engineers, Contractor Managers, dan System Architects.
b. System Requirements / Kebutuhan Sistem : Deskripsi detail dari Software System dan adanya batasan operasi serta merupakan bagian kontrak.
Readersnya : System End-Users, Client Engineers, System Architects, dan Software Developers.

Ø    Macamnya :
      a. Functional Requirements                    : Pernyataan dari layanan yang harus disediakan sistem. Tergantung dari jenis software, yang diharapkan user dari software tersebut dan jenis sistemnya. Requirements sendiri harus komplit dan konsisten.
      b. Non-functional Requirements             : Batasan dari layanan yang dikirimkan melalui sebuah sistem.

\
* Types of Non-functional Requirements






    *Metrics for specifying non-functional requirements


c. Domain Requirements                        : Menjadi kebutuhan functional yang baru.Harus melihat batasan/ranahnya. Bisa menjadi fungsi yang baru.
      d. Agile-method and Requirements        : Metode ini menggunakan increment model. Menurut metode ini membuat dokumen itu membuang waktu karena dokumen biasanya kadaluarsa.

Ø    Spesifikasi Requirements :
         
Cara menulis   :
          a. Menggunakan Bahasa natural
          b. Bahasa naturalnya terstruktur dan standar
          c. Bahasa Desain Deskripsi
             d.  Grafik
          e. Konsep Matematis

 ** Bahasa natural biasanya memiliki kelemahan yaitu kurang jelas,membingungkan karena tercampur, dan kebutuhan berbeda diekspresikan bersama.






Selasa, 26 Maret 2013

KELEBIHAN DAN KEKURANGAN MODEL PROSES




  • Waterfall Model


            Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa tempat berbeda dan dibagi menjadi beberapa bagian sub-proyek.
            Kelebihan        :
§  Model ini baik untuk produk dengan kebutuhan yang jelas dipahami atau ketika bekerja dengan technical tools, arsitektur dan infrastruktur yang telah dipahami dengan baik.
§  Sederhana.
§  langkah-secara terurut,fokus,dan mudah diikuti.
Kekurangan     :
§  Tidak fleksibel karena untuk menuju ke fase selanjutnya harus menunggu fase sebelumnya untuk melengkapi tugas yang saling memiliki ketergantungan.
§  Sangat sulit untuk customer  ketika akan melakukan perubahan kebutuhan yang eksplisit.
§  Customer harus memiliki kesabaran sampai dengan produk perangkat lunak selesai di implementasikan.
§  Customer hanya terlibat di awal proyek.

  •  V-Model


            Kelebihan        :
§  V-Model sangat fleksibel.
§  V-Model dikembangkan dan di-maintain oleh publik. User dari V-Model berpartisipasi dalam change control board yang memproses semua change request terhadap V -Model.
Kekurangan     :
§  V-Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
§  V-Model terlalu fleksibel dalam arti ada beberapa activity dalam V-Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.

  •                Incremental Model

            Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding).
            Kelebihan        :
§  Relatif sedikit jumlah programer atau developer yang digunakan.
§  Memberikan  operasional mutu produk pada tiap stage, tetapi satu yang memuaskan hanya subset kebutuhan klien.
§  Mengurangi efek traumatis dari mengesankan suatu produk sepenuhnya baru pada organisasi klien dengan menyediakan suatu pengenalan berangsur-angsur.
§  Klien bisa melihat sistem dan memberikan feedback.
            Kekurangan     :
§  Semangat melakukan proses membangun dan memperbaiki perangkat lunak bisa menurun.
§  Kesalahan desain menjadi bagian dari sistem dan sulit untuk memperbaikinya
§  Klien melihat kemungkinan-kemungkinan yang ada sehingga ingin mengubah kebutuhan.

  • Evolutionary Model

a.      Prototyping
Cocok untuk proyek yang lamanya 60-90 hari karena cepat prosesnya.
Kelebihan        :
§  Pelanggan dapat menjadi lebih mantap dalam melihat kemajuan.
§  Bermanfaat ketika kebutuhan  sedang berubah dengan cepat, ketika pelanggan enggan untuk mengikat kepada satu set kebutuhan, atau ketika tak seorangpun secara penuh memahami area aplikasi itu.
Kekurangan     :
§  Tidak ada cara untuk mengetahui banyaknya iterasi yang diperlukan.
§  Membuat prototipe / prototyping dapat mendorong ke arah perancangan sistem yang kurang baik. Sebab tujuan utama protoyping adalah perkembangan cepat, perancangan sistem kadang-kadang dapat rusak sebab sistem dibangun pada rangkaian “lapisan” tanpa integrasi pertimbangan global dari semua komponen lain.

b.      Spiral
Model spiral merupakan pendekatan yang realistik untuk software berskala besar.
Kelebihan        :
§  Masing-masing iterasi dari spiral dapat dikhususkan untuk kebutuhan proyek yang sesuai.
Kekurangan     :
§  Rumit dan memerlukan perhatian dan pengetahuan manajemen untuk memulainya.


Rabu, 20 Maret 2013


SOCIAL LEARNING PROCESS

  •   Awalnya software tersebar,tidak diketahui, dan tidak lengkap.
  •   Untuk mengubah pengetahuan ke software butuh dialog, antara user dan designer, dan designer pada toolsnya.
  • Pengembangan software merupakan proses pembelajaran sosial yang berulang-ulang.

PROSES MODEL

  • Sebuah kumpulan tahapan yang sudah bisa diprediksi yang akan membantu membuat hasil yang berkualitas tinggi dan tepat waktu.
  • Melibatkan software engineering(yang membuat), manager(yang mengikuti), client(yang membutuhkan).
  • Proses model berguna untuk kestabilan, mengontrol, mengorganize kegiatan-kegiatan yang bila ditinggalkan akan kacau.
  • Produk kerja dari proses model, yaitu: produk, dokumen, dan data.
  • Langkah-langkahnya sendiri tergantung dengan software apa yang akan kita buat.
  • Sejumlah mekanisme penilaian proses perangkat lunak yang memungkinkan kita menentukan kematangan proses software tersebut digunakan untuk jaminan bahwa yang kita buat benar.

DEFINISI SOFTWARE PROSES

  • Perangkat kerja untuk aktivitas-aktivitas, tugas-tugas, aksi-aksi yang dibutuhkan untuk membuat software yang berkualitas.
  •   Tidak sama dengan Software Engineering. Software Proses meliputi teknologi yang mengisi proses.

PROCESS FLOW

  • Linier Process Flow                : Mengeksekusi lima aktivitas secara berurutan. Bila aktivitas sebelumnya belum selesai tidak bisa dilanjutkan ke aktivitas selanjutnya.

  • Iterative Process Flow           : Mengulang satu atau lebih proses atau aktivitas sebelum melanjutkan ke aktivitas selanjutnya.

  •   Evolutionary Process Flow   : Mengeksekusi aktivitas secara melingkar dan setiap sirkuit dia mengeksekusi ke arah versi yang lebih lengkap(melengkapi).

  • Parallel Process Flow           : Mengeksekusi satu atau lebih aktivitas paralel dengan yang lain (melakukan dua atau lebih aktivitas yang berbeda pada saat yang sama).


Identifying a Task Set

  • Buat list atau daftar tugas yang akan dicapai.
  • Buat list atau daftar produk kerja yang akan dihasilkan.
  • Buat list atau daftar untuk menyaring jaminan kualitas yang akan dijalankan.

Task Set for Requirements Gathering Actions for a Simple Present

  •  Buat daftar stakeholders untuk project.
  • Ajak semua stakeholders dalam pertemuan informal.
  • Tanyakan ke semua stakeholders untuk membuat list fitur-fitur atau fungsi-fungsi yang dibutuhkan.
  • Mendiskusikan apa yang dibutuhkan dan  membuat list final.
  •  Memprioritaskan kebutuhan.
  • Membuat catatan-catatan untuk hal-hal di luar area (tidak terduga).

POLA PROSES

  • Menjelaskan masalah yang terkait dengan proses yang ditemui selama bekerja.
  •  Mengidentifikasi lingkungan dimana masalah telah dihadapi dan  menunjukkan satu atau lebih bukti solusi masalah.

MACAM-MACAM POLA

  •   Stage Patterns       : Mendefinisikan sebuah masalah yang dihubungkan dengan aktivitas framework untuk proses. Terdiri dari Multiple Task Patterns.
  • Task Patterns         : Mendefinisikan masalah yang berhubungan dengan software engineering action.
  • Phase Patterns       : Mendefinisikan urutan dari aktivitas framework.

Minggu, 17 Maret 2013


Di zaman sekarang ini siapa sih yang tidak tahu software? Ya, software adalah perangkat lunak yang dirancang oleh engineer dan digunakan oleh masyarakat luas. 

Software memiliki dua peran yaitu, sebagai produk dan sebagai sarana menyampaikan produk atau informasi. Seiring perkembangan waktu software pun semakin dikembangkan menjadi:
  1.  System software             : Sistem operasi,contohnya Windows,Mac,Linux
  2. Application software     : Untuk membantu pekerjaan manusia,contohnya Office,Corel Draw
  3. Engineering/scientific software
  4. Embedded software
  5. Product-line software
  6. Web-applications Software
  7. Artificial intelligence software
Para Engineer berusaha melakukan pengembangan software dalam 7 kategori diatas. Software pun berevolusi. Engineer berusaha memperbaiki kesalahan yang terjadi sebelumnya pada software dan membuat software sesuai permintaan customer. Software menjadi elemen penting dalam perkembangan sistem komputer. Lebih dari 50 tahun yang lalu software telah dikembangkan hingga mencapai industri seperti saat ini. Walaupun kita masih punya hambatan dalam mengembangkannya terutama dalam hal waktu dan biaya. Selama dikembangkan,ada 2 hal yang harus diperhatikan di Software Engineering yaitu Produk(program,dokumen,data) dan Proses(bagaimana produk itu dibangun).


Software Engineering layers


Kerangka umum dalam Software Process adalah:

a.      Communication
>> Ini adalah langkah awal dalam software process. Komunikasi disini dilakukan dengan customer agar kita bisa memahami apa yang diinginkan customer.
b.     Planning
>>  Langkah selanjutnya adalah membuat rencana. Kita harus merencanakan sumber daya yang akan digunakan, hasil produksi, jadwal kerja dan resiko yang mungkin terjadi.
c.       Modeling
>>  Setelah itu kita harus mendesain perangkat lunak tersebut.
d.     Construction
>>  Menggabungkan langkah-langkah diatas serta melakukan pengujian terhadap perangkat lunak tersebut.
e.      Deployment
>> Software dikirim ke customer untuk nantinya dievaluasi oleh customer tersebut.



Aktifitas Software Engineering:
a.       Pelacakan dan pengontrolan software (tim melakukan penilaian kemajuan dan melakukan koreksi untuk maintain schedule).
b.      Pengelolaan resiko (yang mungkin terjadi).
c.       Jaminan kualitas software (aktifitas untuk memantain kualitas dan software).
d.      Meninjau teknik-teknik yang digunakan.
e.      Pengukuran (mendefinisikan dan mengumpulkan proses,projek,dan produk yang akan ditampilkan kepada customer).
f.        Mengelola konfigurasi software.
g.       Reusability management(mendefinisikan kriteria untuk work product reuse dan membentuk mekanisme untuk mencapai reusable components.
h.      Work product preparation and production(aktifitas untuk membuat model,dokumen,logs,forms,dan lists.

The Essence Of Practice:

  • Mamahami masalah (dengan cara komunikasi dan analisis).
  • Merencanakan solusi (sofware design).
  • Melakukan rencana (code generation).
  • Menjelaskan hasil untuk menguji akurasi (testing and quality assurance)

1  Memahami Masalah
'  Siapa penggunanya atau siapa saja yang terlibat?
'  Fungsi-fungsi apa dan fitur-fitur apa yang dibutuhkan untuk mengerjakan masalah?
'  Apakah mungkin untuk memperkecil masalah agar lebih mudah dipahami?
'  Dapatkah model grafik analisis dibuat?
1  Merencanakan solusi
'  Pernahkan anda melihat masalah yang sama sebelumnya?
'  Apakah masalah yang sama dapat dikerjakan?
'  Dapatkah masalah-masalah tersebut didefinisikan?
'  Dapatkah model desain dibuat?
1  Melaksanakan rencana
'  Apakah solusi dapat diterapkan dalam rencana tersebut?
'  Apakah setiap komponen solusi dapat dibuktikan?
1 Menjelaskan hasil
'  Apakah mungkin untuk menguji setiap bagian komponen dari solusi?
' Apakah hasil solusi sesuai dengan data, fungsi, dan fitur yang telah ada?