Selasa, 04 Maret 2014

Teknologi Web 2.0

  Teknologi Web
1. Web Statis
Web statis adalah web yang content atau isinya tidak berubah – ubah. Maksudnya adalah isi dari dokumen yang ada di web tersebut tidak dapat diubah secara mudah. Ini dikarenakan karena script yang digunakan untuk membut web statis tidak mendukung untuk mengubah isi dokumen. Karena script yng digunakan untuk membuat web statis ini seperti HTML dan Cascading Style Sheet atau biasa disebut dengan CSS. Maka dari itu untuk perubahan isi dokumen pada web statis harus mengubah isi file HTML atau CSS tersebut. Tentunya bagi orang awam atau orang yang tidak mengerti soal program atau script HTML dan CSS akan sangat sulit sekali dilakukan. Untuk itu jika kita ingin mengubah dokumen web statis harus mengerti benar scipt HTML atau CSS atau sering disebut programmer yang dapat melakukan perubahan isi dokumen sebuah web statis. Web statis ini biasanya digunakan oleh website yang menggunakan HTML, Web Search Engine, atau web Company Profile.

2  2. Web Dinamis
Web dinamis adalah Web yang content atau isinya dapat berubah – ubah setiap saat. Karena dalam teknologi pembuatan web dinamis sudah dirancang semudah mungkin bagi user yang menggunakan web dinamis tersebut.
Untuk perubahan content atau isi dokumen dalam sebuah web dinamis dibilang mudah ketimbang web statis yang harus memiliki keahlian khusus pada bagian scripting web tersebut. Ketika kita akan mengubah content atau isi dari sebuah web dinamis kita hanya perlu masuk kebagian control panel atau bagian administrator  web yang telah disediakan oleh script web dinamis. Jadi untuk pengubahan content atau isi dokumen dalam sebuah web dinamis tidak perlu memiliki keahlian programming atau seorang programmer saja yang dapat mengubah isi dokumen pada web dinamis. Untuk membuat web dinamis diperlukan beberapa komponen yaitu client side  scripting ( HTML, JavaScript, Casing Style Sheet atau CSS) dan server side scripting seperti PHP dan program basis data seperti database MySQL untuk menyimpan data – data yang ada di web dinamis.
Web Dinamis ini banyak sekali bertebaran di internet seperti Web Berita, Personal Blog, Toko Online/Web Pasang Iklan, dll.

Teknologi Web 2.0
Web 2.0 adalah generasi/wajah baru dari world wide web: world wide web yang lebih partisipatif, yang bersifat dinamis.
Istilah web 2.0 menjadi terkenal semenjak O’Reilly Media Web 2.0 Conference di tahun 2004. Web 2.0 tidak merujuk kepada teknologi baru dalam world wide web, meskipun web 2.0 memiliki kecenderungan tertentu dalam design dan penggunaan teknik AJAX.
Secara historis, web 2.0 adalah come back dari bisnis web semenjak tragedi dotcom bubble burst di tahun 2000. Sementara secara teknis, web 2.0 adalah satu pengklasifikasian “wajah baru dari web” dimana karakteristik pertukaran data many-to-many terjadi.

Di era sebelum web 2.0 (sebelum tahun 2000, ada juga mengklasifikasikannya sebagai web 1.0), hanya mereka yang memiliki pengetahuan mengenai web (programming n design, or geek) atau para pemilik modal yang mampu menghire programmer yang mampu menyediakan konten (teks, gambar, musik) di web. Sehingga pertukaran data yang terjadi adalah one-to-many atau sedikit-ke-banyak.
Sederhananya, web 2.0 adalah klasifikasi dari web (yang kemudian berevolusi menjadi lebih dari sekedar klasifikasi: sebuah era) yang membuat ‘semua orang’ yang terhubung ke web mampu menyediakan dan mendistribusikan konten (teks, grafis, dll) di web. Website yang membuat orang dapat berbagi konten di web dengan mudahnya (tidak perlu pengetahuan pemrograman web pun bisa berbagi data di web) adalah web 2.0: Blog, Photo Sharing (flickr), Video Sharing (YouTube), Presentation Sharing (Slideshare.net), Social Networking (facebook, myspace, friendster, linkedIn, etc) dll.

Inovasi dalam dunia web semakin hari kian mengalami perkembangan yang berarti, ini dibuktikan dengan adanya Teknologi Web 2.0 yang dikembangkan sekitar tahun 2004. Walaupun sudah termasuk lama kedengarannya oleh para praktisi web, namum sebagian besar mereka masih bertanya-tanya tentang fungsi dan kegunaannya. Web 2.0 merupakan teknologi web yang menyatukan teknologi-teknologi yang dimiliki dalam membangun web. Penyatuan tersebut merupakan gabungan dari HTML, CSS, JavaScript, XML, dan tentunya AJAX.
Perkembangan web 2.0 lebih menekankan pada perubahan cara berpikir dalam menyajikan konten dan tampilan di dalam sebuah website. Dalam perkembangannya Web 2.0 diaplikasikan sebagai bentuk penyajian halaman web yang bersifat sebagai program desktop pada umumnya seperti Windows. Fungsi-fungsi pada penerapannya sudah bersifat seperti desktop, seperti drag and drop, auto-complete, serta fungsi lainnya. Aplikasi Web 2.0 disajikan secara penuh dalam suatu web browser tanpa membutuhkan teknologi perangkat yang canggih dari sisi user. Tidak mengherankan bila suatu aplikasi (software) dapat diakses secara online tanpa harus menginstalnya terlebih dahulu. Software tersebut misalnya software pengolah kata (seperti MS Word) atau software pengolah angka (seperti MS Excel).

Teknologi ke depan suatu software berbasisi web tidak lagi dijual melainkan suatu fasilitas gratis yang dapat digunakan setiap waktu. Permasalahan manajemen file juga tidak merepotkan, bahkan file dapat disimpan dan juga dapat di-sharing dengan user lain. Implementasi dari teknologi Web 2.0 dapat dilihat pada aplikasi sprearsheet pada Google yang merupakan aplikasi untuk operasi mengolah angka seperti MS Excel. Aplikasi ini dapat dilihat pada http://spreadsheets.google.com/ , tentunya aplikasi tersebut membutuhkan suatu akun Google untuk memasukinya.

Di Web 2.0 ada prinsip-prinsip yang membentuknya :
  1. Web Sebagai Plaform. Web menjadi platform dimana user berinteraksi dan berpartisipasi. Inilah mengapa cloud computing seperti zoho dan google docs termasuk Web 2.0
  2. Data Sebagai pengendali utama
  3. Efek Jaringan diciptakan oleh arsitektur partisipasi
  4. Inovasi dalam perakitan sistem serta situs disusun dengan menyatukan fitur dari pengembang yang terdistribusi dan independen (semacam model pengembangan "open source")
  5. Model bisnis yang ringan, yang dikembangkan dengan gabungan isi dan layanan
  6. Akhir dari sikllus peluncuran (release cycle) perangkat lunak (perpetual beta)
  7. Mudah untuk digunakan dan diadopsi oleh user.

Dalam hal ini, untuk membuat web dinamis  diperlukan beberapa komponen yang harus ada (terinstall) didalam komputer, yaitu :
1. Web browser merupakan perangkat lunak yang wajib dan harus terdapat dikomputer karena untuk menjalankan aplikasi web harus menggunakan web browser. Beberapa contohnya: Internet Explorer, Mozilla Firefox, Opera, Safari, dll.
2. Web server merupakan perangkat lunak wajib jika membuat sebuah halaman web dinamis ( web yang selalu berubah-ubah, contohnya: web berita). Dalam web server semua script web yang dibuat biasanya diletakkan dalam “document root” yang ada pada web server tersebut. Dengan menggunakan web server maka pembuat web dapat melakukan uji coba terhadap halaman-halaman web yang dibuat tanpa harus mencobanya di internet langsung (localhost). Beberapa contohnya : Apache, Xitami
3. Script disgunakan untuk membuat web statis ( jenis web yang isinya tidak berubah-ubah biasanya menggunakan HTML yang isinya tidak dapat dirubah kecuali dirubah langsung isi  dari file aslinya) menggunakan client side scripting (HTML, XML, Java script, CSS style sheet). Untuk membuat web dinamis menggunakan server side scripting (ASP,PHP,JSP).
4. Database server merupakan tempat penyimpanan data dalam sebuah web, contohnya : MySQL, Microsoft SQL server, Oracle, dll.

Namun, disini kita akan menggunakan PHP dan sebagai databasenya yaitu MySQL.
Hypertext Preprocessor ( PHP )  merupakan salah satu bahasa pemrograman web yang masih muda namun telah mengalami perkembangan yang cukup signifikan dan telah banyak digunakan oleh banyak user dalam membuat aplikasi web baik perseorangan maupun perusahaan. PHP merupakan singkatan dari PHP Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan web yang disisipkan pada dokumen HTML. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenance situss web tersebut menjadi lebih mudah dan efisien. PHP merupakan software open source yang disebarkan dan dilisensikan secara gratis.


 

Adapun kelebihan PHP dari bahasa pemrograman lain :
1.      Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
2.      Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
3.      Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.
4.      Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5.      PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (Structured Query Language) termasuk jenis RDBMS (Relational Database Management System) yang multithread, multi-user.  Sehingga istilah seperti table, baris. Dan kolom tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung satu beberapa tabel, tabel terdiri dari sejumlah baris dan kolom. Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logika merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data sedangkan kolom sering disebut sebagai attributes atau field ( Sutarman, 2007 ). MySQL merupakan salah satu database server yang paling cocok berpasangan dengan PHP. MySQL merupakan salah satu format standart SQL bahasa data yang terkenal. Selain itu, MySQL dilepaskan dengan suatu lisensi open source dan tersedia secara cuma – cuma. MySQL bekerja pada berbagai sistem operasi dan banyak bahasa. MySQL bekerja dengan cepat dan baik dengan data yang besar. PHP menyediakan banyak fungsi untuk mendukung database MySQL ( Peranginangin, 2006 ).

Kesinambungan antara PHP dan MySQL
Penggunaan PHP dan MySQL dapat menjadikan dan memudahkan untuk pembuatan aplikasi secara gratis dan stabil (dikarenakan banyak komunitas developer PHP dan MySQL yang ber-kontribusi terhadap bugs)

Rekayasa Perangkat Lunak

v        Analisis Sistem

Tahapan analisis sistem adalah tahapan mempelajari sistem yang sedang berjalan untuk diketahui kelemahan dan kekurangannya, dan sistem pengganti diusulkan guna menutupi kelemahan dan kekurangan sistem yang ada (Al Fatta, 2007).

1.      Current System (Analisis sistem yang sedang berjalan)
Hasil analisis terhadap sistem yang sedang berjalan adalah:
Ø  Calon mahasiswa baru selaku pendaftar menemui Panitia Penerimaan Mahasiswa Baru (PMB) untuk pengambilan formulir perdaftaran terlebih dahulu.
Ø  Mahasiswa menyerahkan formulir pendaftaran yang telah diisi lengkap beserta kelengkapan persyaratan yang telah ditentukan ke Panitia Penerimaan Mahasiswa Baru
Ø  Panitia memeriksa formulir pendaftaran serta kelengkapannya, apabila telah sesuai mencatatnya sebagai data calon mahasiswa baru, apabila prasyarat tidak lengkap panitia mengembalikan kepada calon mahasiswa untuk dilengkapi.
Ø  Setelah prasyarat lengkap maka mahasiswa dapat mengikuti proses seleksi yang telah ditentukan.
Seleksi berupa ujian masuk tertulis dan wawancara.
Ø  Panitia kemudian menyeleksi hasil tes tertulis dan wawancara tersebut, dan menetapkan daftar Kelulusan Mahasiswa.
Ø  Bagi mahasiswa yang ditetapkan diterima melakukan registrasi ulang.

Adapun system yang berjalan dapat digambarkan seperti berikut :


Kelemahan dari sistem yang sedang berjalan, yaitu :
Ø  Pendaftaran dilakukan dalam satu tempat atau di Kampus sehingga calon mahasiswa harus datang untuk melakukan proses pendaftaran sampai pengumuman hasil penerimaannya.
Ø  Proses pengolahan data yang dilakukan dalam menerima mahasiswa baru terkesan lama serta membutuhkan kerja yang lebih bagi panitia.
Ø  Data calon mahasiswa tidak terorganisir dengan baik, sehingga pencarian data dan rekap data memerlukan waktu yang lama dan kurang efisien.

2.     Propose System (Usulan Sistem)
Untuk mengatasi permasalahan yang terdapat pada current system, maka akan dirancang sebuah sistem usulan yang diharapkan dapat memberikan solusi terhadap permasalahan dari sistem yang ada. Selain itu, aplikasi ini juga dibuat dengan maksud untuk mengakomodasi kebutuhan akan tersedianya sistem penerimaan mahasiswa baru secara Online.

Dalam perancangan ini menggunakan bahasa pemrograman PHP dan databasenya menggunakan MySQL dengan harapan mampu memberikan kontribusi bagi Universitas Indonesia Timur dalam memenuhi tujuan universitas. Serta memberikan informasi yang berkualitas, tepat waktu, up to date, akurat dan lengkap terutama dalam hal pengelolaan mahasiswa baru. Adapun pemodelan sistem usulan tersebut disajikan sebagai berikut :

 
3.1    System Requirement System (Spesifikasi Kebutuhan Sistem)
Perbedaan mendasar antara sistem yang lama dengan yang diusulkan adalah pada proses input data. Sistem yang lama dilakukan dengan mencatat di dalam sebuah buku besar, sementara system yang baru dicatat dan disimpan dalam sebuah basis data. Penyeleksian pada sistem yang lama dilakukan dengan perhitungan oleh manusia, sementara pada sistem yang baru dilakukan oleh program komputer. Analisis kebutuhan system dikelompokkan mnjadi dua, yaitu analisis kebutuhan fungsional dan kebutuhan non fungsional.

3.1 Analisis Kebutuhan Fungsional
Jenis kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh sistem. Kebutuhan fungsional juga berisi tentang informasi apa saja yang dihasilkan oleh sistem. Dalam sistem informasi Penerimaan Mahasiswa Baru ini, kebutuhan fungsionalnya meliputi:
Ø  Sistem dapat melakukan pendaftaran secara online (Pendaftar mahasiswa baru)
·         Pendaftar bisa download document-dokument
·         Pendaftar bisa melakukan pendaftaran secara online
·         Pendaftar bisa melihat pengumuman tes kelulusan
·         Pendaftar bisa malihat data seluruh pendaftar, dan melihat kelengkapan berkas
·         Pendaftar bisa melihat informasi Penerimaan mahasiswa baru
·         Pendaftar bisa melihat informasi pilihan jenjang yang ada
·         Pendaftar bisa login dengan No. pendaftaran dan password
·         Pendaftar bisa mencetak form pendaftaran
·         Pendaftar bisa melihat status pendaftar (daftarpembayaran, lulus)
·         Pendaftar bisa melihat tanggal tes, waktu, dan ruangan tes bila sudah membayar registrasi

Ø  Sistem harus dapat melakukan pendataan data pendaftar yang masuk (Pihak sekolah/Admin dapat mengolah data pendaftar)
·         Admin dapat mengolah data berita
·         Admin dapat melihat data Admin dapat merubah status pendaftar (daftar, terbayar, lulus)
·         Admin dapat menginput jadwal tes psikotes kepada pendaftar yang sudah membayar biaya registrasi
·         Admin dapat mengubah status kelengkapan persyaratan pendaftar (tidak lengkap, lengkap)
·         Admin dapat mengolah nilai dan dapat memberikan informasi nilai test masuk. jumlah mahasiswa yang mendaftar, jumlah yang lulus, dan jumlah yang tidak lulus seleksi.

3.2 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional yang dimaksud adalah spesifikasi dari perangkat keras dan perangkat lunak yang digunakan dalam sistem yang akan dirancang.
1.      Kebutuhan Perangkat Keras (Hardware)
Analisis perangkat keras bertujuan untuk mengetahui secara tepat perangkat keras yang dibutuhkan. Adapun Perangkat keras yang digunakan dalam pembuatan sistem ini antara lain :
·         Motherboard.
·         Processor Intel Core 2 duo.
·         RAM 2 GB.
·         Hard Disk 320 GB.
·         Mouse dan keyboard.
2.      Kebutuhan Perangkat Lunak (Software)
Analisis perangkat lunak bertujuan untuk mengetahui secara tepat perangkat lunak apa saja yang dibutuhkan untuk menjalankan suatu sistem. Adapun Perangkat Lunak yang digunakan, antara lain :
·         Microsoft Windows XP
·         Microsoft Visual Basic 6.0
·         Microsoft Visio
·         MS Office
·         Web Browser, seperti Mozzila firefox.



4.      Rancangan Sistem dengan Data Flow Diagram
4.1 Rancangan Sistem secara umum
                        a. Konteks Diagram


                         b. Diagram Berjenjang


 













4.2 Rancangan Sistem Terinci
                       DFD Level 1



5. Rancangan Sistem dengan UML
5.1. Rancangan Sistem secara Umum
a.      Use Case Diagram



                                  b. Class Diagram 








5.2 Rancangan Sistem Terinci
a. Sequence Diagram
Ø  Admin



Ø  Calon Mahasiswa Baru



b.      Activity Diagram
Ø  Aktivitas Admin



 
Ø  Calon Mahasiswa Baru






c.      State Chart Diagram




d.     Deployment Diagram







6.     Pengujian Sistem
6.1 Black Box Testing
·      Apakah data yang diinput sesuai dengan data yang masuk (valid)?
·     Apakah system dapat membaca dan membedakan character, numerik, dan symbol dan penggunaannya?
·      Apakah system dapat memeriksa kesalahan penginputan data secara keseluruhan dan memberi peringatan?
·      Apakah system dapat memeriksa apabila ada data yang tidak diinput secara keseluruhan dan memberi peringatan?
·      Apakah system dapat melakukan pengeditan data jika ada pembaharuan data?

6.2  Analisis Kinerja Sistem
·      Apakah system dapat berjalan cepat dan tepat?
·      Apakah system dapat memeriksa data yang dicari secara cepat?
·      Apakah system dapat diakses seacara bersamaan?
·      Pada saat terjadi sistem offline, dapatkah sistem kembali online kurang dari 1 hari?
·      Apakah sistem dapat melakukan recovery dan back up data secara cepat?

6.3  Pengujian Akseptansi Sistem
·      Apakah calon mahasiswa paham dan tahu cara mengisi formulir data di sistem?
·      Apakah pihak admin kampus mampu mengolah system dengan cepat, tepat, dan akurat ?
·      Apakah calon  mahasiswa merasa puas dan mudah dengan sistem informasi ini?
·      Apakah calon mahasiswa merasa puas dengan sistem informasi ini?
                                                         
6.4    Unit Test
·    Apakah program dalam sistem dapat memanage atau mengelompokkan data berdasarkan kode?
·     Apakah program dalam sistem tidak lagi terdapat error?

6.5    Integration Test
·  Apakah program dalam sistem dapat menghubungkan data-data yang memiliki keterkaitan?
·         Apakah data di class tertentu dapat digunakan pada data di class lainnya?

6.6    Defect Testing
·         Apakah pada sistem terdapat error ?
·        Apakah pada program terdapat yang tidak sesuai dengan fungsinya atau spesifikasinya?
·         Apakah pada program terdapat kesalahan pengkodean?