BAB III OK

download BAB III OK

of 33

description

perancangan ecommerce

Transcript of BAB III OK

BAB IIIDASAR TEORI

3.1 Internet MarketingSejalan dengan berkembangnya internet, muncul pemahaman baru mengenai paradigma pemasaran berupa konsep pemasaran modern berorientasi pasar/konsumen atau revolusi pemasaran berupa electronic marketplace (Arnott dan Bridgewater, 2002:86; Bakos, 1999:1613; Chaffey et. al., 2000; Eid dan Trueman, 2002:54). Dalam konteks bisnis, internet membawa dampak transformasional yang menciptakan paradigma baru dalam bisnis, berupa digital marketing (Chandra, 2001). Jika dulu dikenal model interaksi bisnis tradisional yang bersifat face to face, maka kini model interaksi itu telah berkembang ke arah interaksi modern berbasis elektronik atau e-commerce yang faceless, yakni Business to Business (B2B), Business to Customer (B2C), dan Customer to Customer (C2C) dengan target akhir melayani segment of one (Arnott dan Bridgewater, 2002:86; Mulyanto, 2001:41). (Sumber : Sutejo, Bertha Silvia (2006). Internet Marketing: Konsep Dan Persoalan Baru Dunia Pemasaran. Jurnal Manajemen, Vol. 6, No. 1, Nov 2006.

Secara garis besar, aplikasi internet dalam keperluan bisnis meliputi 7 (tujuh) bidang pokok (Chandra, 2001:112), yaitu :1. Yellow pages, berupa database terorganisasi yang memuat aneka ragam informasi produk, perusahaan, iklan, berita, hiburan, dan sebagainya.2. Web traffic control, berfungsi gerai penjualan virtual seperti amazon.com maupun mal-mal virtual yang kini semakin marak dijumpai.3. Standard websites, berupa homepages dan alamat e-mail untuk kontak atau layanan pelanggan.4. Business-to-business links, berupa koneksi pada jaringan bisnis yang dimiliki perusahaan.5. Community sites, seperti ruang ngobrol (chatting room) khusus kelompok tertentu.6. Information/image sites, yang tidak memiliki fungsi komersial langsung namun lebih menekankan aspek penyajian informasi, misalnya ABS (Australian Bureau of Statistics).7. Content-based sites, di mana pemakai harus membayar biaya keanggotaan (membership fee) agar bisa mendapatkan akses ke isi situs bersangkutan.

Pada umumnya strategi pemasaran melalui sebuah web di internet sama seperti strategi pemasaran secara tradisional (traditional marketing), yaitu meliputi penciptaan nilai pelanggan, merebut nilai pelanggan, dan mempertahankan nilai pelanggan. Namun, bagaimanapun juga strategi pemasaran melalui sebuah web mengubah konsep marketing mix yang ada sebelumnya. Hal ini karena sebuah web mempengaruhi pengembangan dan keputusan dalam strategi pemasaran terutama marketing mix (analisis 4C dan 4P). Eid dan Trueman (2002:54) juga menyetujui bahwa web berpengaruh terhadap perubahan marketing mix karena pemasaran melalui internet memiliki proses yang sangat berbeda dari pemasaran secara tradisional. Adapun kunci sukses usaha pemasaran melalui internet adalah strategi interaktif (Arnott dan Bridgewater, 2002:87; Eid dan Trueman, 2002:54). Pada bagian ini dijelaskan lebih lanjut mengenai perubahan dimensi marketing mix yang dimudahkan dengan adanya internet.

Tabel 3.1 Perbedaan Pendekatan Pemasaran Tradisional danPemasaran Lewat InternetTraditionalInternet

Mass MarketingDirect MarketingInteractive Marketing

Saluran Distribusi Penyiaran dan media cetak (konsumsi pasif) Jasa kartu pos menggunakan daftar alamat (pelanggan pasif) Internet (pelanggan aktif dan menjadi katalisator untuk apa yang terlihat di layar)

Strategi Pasar (dan contoh produk) Volume tinggi (makanan, bir, autos, personal dan produk-produk rumah tangga) Targetnya barang (credit cards, travel, autos, subscriptions) Targetnya audience (jasa dan semua tipe informasi produk)

Teknologi yang mungkin Storyboards dan desktop publishing Databases dan alat-alat statistik Information servers,client browsers,bulletin boards, dan agen-agen software

Pengarang bahan pemasaran (Authors of Marketing Material)

agen-agen agen-agen dan perusahaan Perusahaan dan pelanggan

Hasil yang diharapkan untuk kesuksesan pengimplementasian Volume penjualan Loncatan penjualan, data untuk analisis Tanggal untuk analisis, hubungan dengan pelanggan, ide produk baru, volume penjualan

Sumber: Kalakota dan Whinston (2002) dalam Sutejo, Bertha Silvia (2006).

Internet dapat digunakan untuk membangun komunikasi :1. One-to-many CommunicationBroadcast Model: komunikasi one-to-many model komunikasi pemasaran tradisional untuk media massa. Pada model pasif ini, perusahaan menyediakan konten melalui media yang menjangkau pasar dengan banyak konsumen.

Gambar 3.1 Ilustrasi Komunikasi One to Many OFFLINEONLINE

Iklan di TV, Radio, Surat Kabar Direct Marketing (Katalog, Surat, dll) Website Iklan Online : Video Streaming, Banner Online Direct Marketing

2. One-to-one Communication

Gambar 3.2 Ilustrasi Komunikasi One to OneOFFLINEONLINE

Retails Agents Direct Marketing (Katalog, Surat, dll) CHAT VOIP Online Direct Marketing

3. Many-to-many Communiaction

Gambar 3.3 Ilustrasi Komunikasi Many to ManyOFFLINEONLINE

Assosiations Co-buying business Sharing business Komunitas Web 2.0 Customer Experience

3.2 E-CommerceE-commerceRayport and Jaworski (2001) mendefinisikan e-commerce sebagai technology mediated exchanges between parties (individuals and organizations) as well as the electronically based intra or interorganizational activities that facilitate such exchanges. eg inventory, ordering, payment processes, etcE-businessPhilips et al. (2003) mendefinisikan e-business sebagai: the application of IT for internal busines processes as well as activities in which a company engage during commercial activity. These activities can include functional activities such as finance, marketing, HR management, operationsE-marketingInstitute of Direct Marketing: the use of internet and related digital information and communication technologies to achieve marketing objectivesM-marketingStrauss et al. (2003) the increase in sales of mobile phones induce marketers in seeing mobile communication as the future scenario for marketing activities.

3.3 Search Engine Optimization (SEO)Search Engine Optimization (SEO) adalah serangkaian proses yang dilakukan secara sistematis yang bertujuan untuk meningkatkan volume dan kualitas trafik kunjungan melalui mesin pencari menuju situs web tertentu dengan memanfaatkan mekanisme kerja atau algoritma mesin pencari tersebut. Tujuan dari SEO adalah menempatkan sebuah situs web pada posisi teratas, atau setidaknya halaman pertama hasil pencarian berdasarkan kata kunci tertentu yang ditargetkan. Secara logis, situs web yang menempati posisi teratas pada hasil pencarian memiliki peluang lebih besar untuk mendapatkan pengunjung.(Sumber : Wikipedia bahasa Indonesia, ensiklopedia bebas. Diakses tanggal 2 Januari 2014)

3.4 Rekayasa Perangkat Lunak Berbasis ObjekPressman, Roger. S (2002) memberikan definisai perangkat lunak :1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan.2. Struktur data yang memungkinkan program memanipulasi informasi secara proporsional.3. Dokumen yang menggambarkan operasi dan kegunaan program. Rekayasa perangkat lunak adalah penerapan serangkaian teknologi yang meliputi sebuah proses, serangkaian metode dan sederetan alat untuk membangun sebuah perangkat lunak. Rekayasa perangkat lunak merupakan lanscape teknologi. Total Quality Management dan filosofinya yang mengangkat budaya pengembangan proses terus menerus telah membawa pendekatan yang semakin matang terhadap rekayasa perangkat lunak. Batu landasan yang menopang rekayasa perangkat lunak adalah fokus menuju kualitas.

Gambar 3.4 Lapisan rekayasa perangkat lunak.Sumber : Rekayasa Perangka Lunak Pendekatan Praktisi. Roger S. Pressman. 2002 Metode Berorientasi Objek Tradisional1. Analisis KebutuhanAnalisis kebutuhan (requirement analisys) sering diintegrasikan dengan business modeling, dimana sumberdaya, peran, tujuan dan tindakan dimodelkan.Analisis kebutuhan menggunakan use-case, proses bisnis dan plain text untuk mendiskripsikan fungsi yang dibutuhkan sistem. Sistem dilihat dari luar, tidak memikirkan bagaimana cara mencapai secara teknik. Kerja nyata tahap ini terdiri atas aktivitas diskusi dan negoisasi antara konsumen dan pengembang.

2. AnalisisAnalisis adalah kegiatan mencari solusi dari permasalahan, tanpa mempertimbangkan aspek teknologi yang akan diterapkan. Menurut Roger S. Pressman (2002), terdapat lima prinsip dasar untuk membangun model analisis yaitu: 1. Domain analisis dimodelkan, 2. Model fungsi digambarkan,3. Tingkah laku model direpresentasikan,4. Model dipartisi untuk mengekspose detail yang lebih besar,5. Model awal merepresentasikan inti masalah sedangkan model selanjutnya mengimplimentasikan detail.Mengetahui prinsip membangun model dan tujuan analisis, maka didalam aktivitas analisis akan dibagi menjadi aktivitas :1. Memilih kelas / objek 2. Menambahkan atribut dan operasi3. Membangun struktur dan hirarki objek4. Membangun model hubungan objek

3. DesainDesain adalah pengembangan teknik dan adaptasi dari hasil analisis. Kelas, hubungannya, dan kolaborasi dari tahap analisis digabungkan dengan elemen baru, sekarang berfokus pada bagaimana mengimplementasikan sistem kedalam komputer. Semua hal bagaimana seharusnya sesuatu berjalan secara teknis dan batasan lingkungan implementasi harus menjadi bahan pertimbangan. Tipe diagram yang sama seperti pada tahap analisis digunakan pada tahap desain. Tetapi diagram yang baru harus menunjukkan solusi teknis yang akan dibuat.

Aktivitas saat desain pada umumnya :1. Tahap arsitektur, dimana kelas-kelas hasil analisa dibagi dalam paket-paket fungsional. Paket baru untuk area teknis seperti user interface, database handling, dan komunikasi ditambahkan. Paket analisis dapat menggunakan servis dari paket ini, tetapi kalau bisa jangan sampai terpengaruh. Komunikasi antar paket yang berbeda dapat terjadi (untuk hubungan klien-server, paket analisis fungsional adalah server). 2. Kebutuhan konkurensi diidentifikasi dan dimodelkan melalui kelas aktif, pesan asynchronous dan teknik synchronous untuk menangani sumberdaya yang dishare.3. Dinyatakan format detail output dari sistem: user interface, laporan dan transaksi yang dikirim ke sistem lainnya. 4. Jika perlu, mencari dan atau membeli library kelas dan komponen yang dapat meningkatkan arsitektur dan meminimalisasi kerja.5. Jika menggunakan database relasional, kelas dalam sistem dipetakan kedalam tabel dalam model database tradisional. Mekanisme untuk membaca database juga dilakukan dalam desain arsitektur.6. Pertimbangan untuk menangani exception dan kesalahan sistem.7. Kelas juga dialokasikan pada komponen kode, dan komponen yang dapat dieksekusi dialokasikan pada nodes, menggunakan komponen diagram dan deployment diagram.Selama fase desain, selalu ingat prinsip : keterlacakan, interface harus sederhana, komplit dan konsisten, performansi, kesederhanaan, dan dokumentasikan dengan baik.4. ImplementasiAktivitas implementasi yaitu tindakan nyata menuliskan kode program. Jika desain telah dilakukan secara benar dan dengan detail yang mencukupi, pengkodean harusnya pekerjaan yang mudah. Langkah ini melibatkan membuat keputusan design akhir dan menterjemahkan diagram desain dan spesifikasi ke sintaks dari bahasa pemrograman terpilih. 5. Test / PengujianPengujian perangkat lunak dapat juga dikatakan sebagai proses verifikasi dan validasi apakah perangkat lunak atau program telah :1. Memenuhi persyaratan bisnis dan teknis yang menuntun desain dan pengembangan,2. Bekerja sesuai dengan yang diharapkan.Pengujian perangkat lunak memiliki tiga tujuan utama: verifikasi, validasi dan menemukan cacat.1. Proses verifikasi mengkonfirmasi apakah perangkat lunak memenuhi spesifikasi teknisnya. Spesifikasi adalah diskripsi fungsi dalam bentuk output terukur dari nilai input spesifik yang diberikan dalam kondisi awal spesifik. 2. Proses validasi mengkonfirmasi apakah perangkat lunak memenuhi persyaratan bisnis. 3. Defect / cacat adalah perbedaan antara hasil yang diharapkan dengan hasil nyata. Sumber akhir cacat bila diusut mungkin berasal dari kesalahan pada spesifikasi, desain, atau fase pengembangan (coding).

3.5 Tools / Peralatan Pengembangan Sistem3.4.1 UML dan Sparx Sistem Enterprise ArchitectUnified Modeling Language (UML) adalah standar (ISO / IEC 19501:2005), bahasa pemodelan di bidang rekayasa perangkat lunak. UML mencakup seperangkat teknik notasi grafis untuk menciptakan model visual sistem perangkat lunak-intensif berorientasi objek.UML dikembangkan oleh Grady Booch, Ivar Jacobson dan James Rumbaugh pada Rational Software pada tahun 1990-an. UML diadopsi oleh Object Management Group (OMG) pada tahun 1997, dan telah dikelola oleh organisasi ini sejak saat itu. Pada tahun 2000 UML diterima oleh International Organization for Standardization (ISO) sebagai standar industri untuk pemodelan sistem perangkat lunak-intensif. Versi saat ini dari UML adalah 2.4.1 yang diterbitkan oleh OMG pada bulan Agustus 2011. Sparx Sistem Enterprise Architect adalah aplikasi pemodelan visual dan alat desain berdasarkan OMG UML. Platform ini mendukung: desain dan konstruksi sistem perangkat lunak; pemodelan proses bisnis, dan industri pemodelan domain berbasis. Sparx Sistem Enterprise Architect digunakan oleh perusahaan dan organisasi tidak hanya untuk memodelkan arsitektur sistem mereka, tetapi juga dalam proses pelaksanaan model di seluruh siklus hidup pengembangan aplikasi.Salah satu konsep awal kemunculan UML adalah untuk mengakhiri "perang metodologi" dalam komunitas "OO". Diawal tahun 90an terdapat beberapa metode yang cukup terkenal yaitu Booch, OMT, OOSE, Fusion, Coad-Yourdon yang masing-masing memiliki notasi, proses dan tools yang berbeda. Tahun 1994 Grady Booch dan Rumbaugh bekerjasama. Tujuannya adalah menciptakan satu metode, Unified Method yang akan menyatukan metode Booch dan OMT-2. Tahun 1995, Ivar Jacobson, seseorang dibalik OOSE dan metode Objectory, bergabung dengan mereka. Booch, Rumbaugh dan Jacobson merelease UML versi pertama (UML 1.0) pada awal tahun 1997.

Tujuan UML, seperti yang dinyatakan perancangnya :1. Untuk memodelkan sistem (tidak hanya software) menggunakan konsep pendekatan berorientasi objek.2. Untuk mencapai explicite coupling pada konsep begitu juga pada executable artifacts.3. Untuk mengakomodasi isu pemodelan pada sistem yang kritis dan kompleks.4. Untuk menciptakan bahasa pemodelan yang dapat digunakan oleh manusia dan mesin.

Bagian-bagian UML1. Viewsa. Use-case views: Sebuah pandangan yang memperlihatkan kegunaan dari sistem oleh aktor eksternal.b. Logical view: Sebuah pandangan bagimana fungsi dirancang dalam sistem, dalam bentuk struktur statis dari sistem dan tingkah laku dinamis.c. Component view: Sebuah pandangan yang memperlihatkan organisasi dari komponen kode.d. Concurency view: Sebuah pandangan yang menggambarkan concurency/aliran dalam sistem, menunjukkan permasalahan dalam komunikasi dan sinkronisasi yang terjadi dalam sistem koncurensi.e. Deployment view: Sebuah pandangan yang memperlihatkan deployment dari sistem kepada arsitektur fisik dengan komputer dan peralatan yang disebut nodes.2. Diagrama. Use-case diagramUse-case diagram mengambarkan sejumlah aktor eksternal dan hubungannya dengan kegunaan/penggunaan yang diberikan oleh sistem. Use case adalah diskripsi fungsionalitas (kegunaan spesifik dari sistem) yang disediakan sistem.

Sign an insurancepolicy

Sales statistics

Customerstatistics

CustomerInsurance Salesperson

Insurance System

Gambar 3.5 Contoh Usecase Diagram

b. Class diagramClass diagram menggambarkan struktur static dari kelas-kelas dalam sistem. Kelas merepresentasikan sesuatu yang ditangani sistem. Kelas dapat saling terhubung dalam : asosiasi (saling terhubung) , dependensi (satu kelas tergantung/menggunakan kelas yang lain), spesialisasi (satu kelas adalah spesialisasi kelas yang lain), atau paket (tergabung bersama dalam satu unit). Satu sistem dapat memiliki lebih dari satu diagram kelas.

Gambar 3.6 Contoh Diagram kelas

c. Object diagramObject diagram adalah variant dari class diagram dan menggunakan notasi yang hampir sama. Yang membedakan keduanya adalah diagram objek menunjukkan sejumlah objek ciptaan dari kelas. Diagram kelas menunjukkan kelas,dan diagram objek menunjukkan instance (bentuk nyata/ciptaan) dari kelas.

Gambar 3.7 Contoh Class Diagram dan Object Diagram.d. State diagramState diagram biasanya melengkapi diskripsi dari suatu kelas. Dia menunjukkan kemungkinan kondisi/keadaaan yang dapat dimiliki oleh suatu kelas, dan event apa yang menyebabkan keadaannya berubah. Event dapat berupa pesan yang dikirim oleh objek lain atau suatu kondisi yang telah terpenuhi. Perubahan keadaan disebut transisi.

Gambar 3.8 Contoh State Diagram

e. Sequence diagramSequence diagram menggambarkan kolaborasi dinamis antar sejumlah objek. Aspek penting diagram ini adalah untuk menggambarkan urutan pesan yang dikirimkan antar objek.

:Computer:PrinterServer:QueuePrint(file):Printer

Print(file)[printer free]Print(file)

[printer busy]Store(file)

Gambar 3.9 Contoh Sequence Diagram

f. Collaboration diagramCollaboration diagram menunjukkan kolaborasi dinamis seperti halnya sequence diagram. Kita dapat memilih antara menggunakan collaboration diagram dan sequence diagram. Ketika waktu atau urutan adalah penting, maka kita dapat menggunakan sequence diagram. Jika konteks/hubungan antar objek adalah lebih penting untuk diperlihatkan, gunakan collaboration diagram.

QueueComputer

[printer busy]1.2: Store(file)1:Print(file)

PrinterPrinterServer[printer Free]1.1: Print(file)

Gambar 3.10 Contoh Collaboration Diagram g. Activity diagramActivity diagram menggambarkan urutan aliran aktivitas/kegiatan. Activity diagram biasanya digunakan untuk mendiskripsikan aktivitas yang dilakukan dalam suatu operasi, atau menggambarkan aliran aktivitas yang lain seperti use-case atau interaksi.

Gambar 3.11 Contoh Activity Diagram

h. Component diagramComponent diagram menunjukkan arsitektur fisik dari kode dalam arti komponen kode. Komponen dapat berarti komponen source code, komponen binary, atau komponen executable. Komponen berisi informasi tentang logical class atau kelas yang diimplementasikan.

WindowHandler(whnd.cpp)

Graphicslib(graphics.dll)

WindowHandler(whnd.obj)CommHandler(comhnd.cpp)

CommHandler(comhnd.obj)

MainClass(main.cpp)ClientProgram(client.exe)

MainClass(main.obj)

Gambar 3.12 Contoh Komponen Diagram yang menunjukkan ketergantungan antar komponen code.

i. Deployment diagramDeployment diagram menunjukkan arsitektur fisik hardware dan software dalam sistem. Kita dapat menujukkan komputer actual dan devices(nodes), bersama dengan koneksinya dan tipe koneksi.

Client A : Compaq Pro PCApplication Server : Silicon Graphics O2Database Server : VAXClient A : Compaq Pro PC

Gambar 3.14 Contoh Deployment Diagram.

3. Model ElementsKonsep yang digunakan dalam diagram disebut elemen model. Elemen model didefinisikan dengan semantic, sebuah definisi formal untuk elemen atau arti sesungguhnya yang direperesentaikan dengan statement pasti. Contoh elemen model adalah kelas, objek, node, paket, dan komponen.Hubungan juga merupakan elemen model, dan digunakan untuk mengubungkan elemen-elemen model. Bererapa jenis hubungan :- generalisasi - agregasi- asosiasi - dependensi

4. General MechanismUML menggunakan beberapa mekanisme umum pada semua diagram, untuk memberikan tambahan informasi yang tidak dapat diberikan oleh elemen model yang ada. Adornments/hiasan. Adornment grafis dapat dilekatkan pada elemen model diagram. Adornment menambah semantic pada elemen. Contoh adornment adalah teknik yang digunakan untuk tipe dari instance. Ketika elemen menyatakan tipe, nama digambarkan dengan huruf besar. Ketika elemen yang sama digunakan untuk menyatakan instance dari tipe tersebut, nama digaris bawah. Segiempat kelas, dengan nama berhuruf tebal merepresentasikan kelas dan nama yang digaris bawah merepresentasikan objek. Notes/CatatanTidak semuanya dapat didefinisikan dalam bahasa pemodelan. Untuk dapat menambahkan informasi ke dalam model, UML menyediakan note/catatan. Note dapat diletakkan dimanapun dan dalam diagram apapun. Note biasanya dilekatkan pada suatu elemen diagram dengan garis putus-putus yang menunjuk pada elemen yang diterangkan. Spesification/spesifikasiModel elemen memiliki properties yang menampung nilai data tentang elemen. Properties digunakan untuk menambahkan spesifikasi tambahan tentang elemen yang tidak ditunjukkan secara normal (disembunyikan) dalam diagram.

Gambar 3.15 Adornment dan notes.

5. Extending UMLUML dapat diperluas atau diadaptasi pada suatu metode, organisasi atau pengguna spesifik. Contoh mekanisme ekstensi misal: stereotype, tagged values, dan constraints. StereotypesMekanisme ekstensi stereotype mendefenisikan elemen model baru berdasarkan elemen model yang telah ada. Oleh karenanya, stereotype seperti elemen yang telah ada, ditambah beberapa semantik yang tidak ada dalam pembentuknya. Stereotype dideskripsikan dengan menempatkan namanya sebagai string (misal ) disekitar nama elemen.

Customer

Gambar 3.16 Contoh stereotypeCustomer adalah sebuah kelas dengan stereotype .

Tagged valuesElemen dapat memiliki propeties yang berisi nama/nilai sebagai informasi. Properties ini disebut juga tagged values, sejumlah properties yang didefinisikan diawal saat pembuatan UML.

ConstraintsConstraints adalah larangan pada suatu elemen yang membatasi penggunaan elemen atau semantik (arti) dari elemen.

ConstraintTagged Value -expdate : date-value : int{author="HEE",status=draft}

Gambar 3.17 Contoh tagged value dan constraint.

3.4.2 Balsamiq MockupsBalsamiq Mockups adalah aplikasi grafis pembangun user interface mockup. Hal ini memungkinkan desainer untuk merancang tampilan menggunakan editor WYSIWYG drag-and-drop.

3.4.3 Framework CodeigniterCodeIgniter adalah sebuah Framework Aplikasi, yaitu sebuah toolkit untuk membangun aplikasi web menggunakan PHP.Tujuannya adalah untuk memungkinkan programmer mengembangkan proyek-proyek lebih cepat daripada jika menulis kode dari awal, dengan menyediakan sekumpulan libraries untuk tugas yang biasa diperlukan, serta antarmuka yang sederhana dan struktur logis untuk mengakses libraries tersebut.CodeIgniter memungkinkan pengembang aplikasi fokus pada proyek dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas yang diberikan.A. Model-View-ControllerCodeIgniter didasarkan pada pola pengembangan Model-View-Controller.MVC adalah sebuah pendekatan perangkat lunak yang memisahkan aplikasi logika dari presentasi.Dalam prakteknya, hal itu memungkinkan halaman web untuk memuat script kecil karena presentasi terpisah dari scripting PHP. Modelmerepresentasikan struktur data.Biasanya kelas model berisi fungsi yang membantu mengambil, memasukkan, dan mengupdate informasi dalam basisdata. Viewadalah informasi yang sedang disajikan kepada pengguna.Sebuah View biasanya akan menjadi halaman web, tetapi dalam CodeIgniter, view dapat juga menjadi fragmen halaman seperti header atau footer.Hal ini juga dapat menjadi halaman RSS, atau jenis lain dari "halaman". Controllerberfungsi sebagaiperantaraantara Model, View, dan sumber daya lainnya yang dibutuhkan untuk memproses HTTP request dan menghasilkan suatu halaman web.CodeIgniter memiliki pendekatan yang cukup longgar untuk MVC.Jika tidak perlu menambahkan pemisahan, atau sekiranya mempertahankan model memerlukan kompleksitas lebih dari yang diinginkan, model dapat diabaikan dan membangun aplikasi minimal hanya menggunakan Controller dan View.CodeIgniter juga memungkinkan programmer untuk memasukkan skrip buatan sendiri, atau bahkan mengembangkan core libraries untuk sistem.

B. ModelModel adalah class PHP yang dirancang untuk bekerja dengan data dalam basisdata. Misal, CodeIgniter digunakan untuk mengelola blog. Anda mungkin akan menyediakan class model yang berisi fungsi untuk insert, update, dan mengambil data. Berikut ini adalah contoh model : classBlogmodelextendsCI_Model{

var $title = '';var $content = '';var $date = '';

function__construct(){// Call the Model constructorparent::__construct();}functionget_last_ten_entries(){$query = $this->db->get('entries', 10);return $query->result();}

functioninsert_entry(){$this->title = $_POST['title']; // please read the below note$this->content = $_POST['content'];$this->date = time();

$this->db->insert('entries',$this);}

functionupdate_entry(){$this->title = $_POST['title'];$this->content = $_POST['content'];$this->date = time();

$this->db->update('entries',$this, array('id' => $_POST['id']));}

}

C. ViewView adalah sebuah halaman web, atau bagian, seperti herader, footer, sidebar, dll. Bahkan, view dapat disertakan ke view lain jika dibutuhkan. View tidak dapat dipanggil langsung, view harus diload dengan controller. Dalam framework MVC, Controller bertindak sebagai polisi traffic, jadi controller bertanggungjawab memfeching view tertentu.

Membuat View Dengan text editor, buat sebuah file blogview.php, dan ketik code berikut:

My Blog

Welcome to my Blog!

Simpan dalam folder application/views/

Memuat ViewUntuk memuat file view digunakan fungsi berikut : $this->load->view('nama');Dimananama adalah nama file view. Extensi .php tidak perlu dituliskan kecuali digunakan file selain .php.

Contoh cara memuat view dalam controller Blog.php :

D. ControlerSebuah controller adalah sebuah file cass yang diberi nama yang dapat diasosiasikan dengan sebuah URI.

Perhatikan URI ini:example.com/index.php/blog/Pada contoh diatas, CodeIgiter akan mencoba menemukan controller yang bernamablog.phpdan memuatnya.

Membuat ControlerContoh controlerblog.php:

File disimpan dalam folder application/controllers/Coba buka situs blog menggunakan URL : example.com/index.php/blog/

Hasilnya adalah ditampilkannya tulisan Hello World!.Catatan : Nama controller harus diawai huruf besar. Juga pastikan, controllerextendsclass controller induk agar dapat mewarisi semua fungsinya.

E. Diagram AplikasiGrafik berikut menggambarkan bagaimana data mengalir di seluruh sistem:

Gambar 3.19 Cara Kerja Codeigniter

1. Index.php berfungsi sebagai front controller, menginisialisasi sumber daya utama yang dibutuhkan untuk menjalankan CodeIgniter.2. Router memeriksa permintaan HTTP untuk menentukan apa yang harus dilakukan permintaan tersebut.3. Jika dalam cache terdapat file yang diminta, maka langsung dikirim ke browser, tanpa melewati eksekusi sistem yang normal.4. Keamanan.Sebelum controller aplikasi dimuat, permintaan HTTP dan data user yang diajukan disaring untuk keamanan.5. Controller memuat model, core libraries, helpers, dan sumber daya lainnya yang dibutuhkan untuk memproses permintaan khusus.6. View selesai diterjemahkan kemudian dikirim ke web browser untuk ditampilkan.Jika cache dihidupkan, view disimpan cache sehingga pada permintaan berikutnya dapat cepat dilayani.

F. CodeIgniter URLSecara default, URL dalam CodeIgniter dirancang untuk search engine dan manusia.Daripada menggunakan "query string" standar untuk URL pendekatan yang identik dengan sistem dinamis, CodeIgniter menggunakan pendekatan berbasissegmen:example.com/news/article/my_article

URI SegmentSegmen dalam URL, mengikuti dengan pendekatan Model-View-Controller, biasanya mewakili:example.com/class/function/ID1. Segmen pertama merupakan kelas controller yang harus dipanggil.2. Segmen kedua mewakili kelasfungsi, atau metode, yang harus disebut.3. Yang ketiga, dan setiap segmen tambahan, mewakili ID dan setiap variabel yang akan dilewatkan ke controller.

3.4.4 Java AppletJava Applet adalah sebuah aplikasi kecil yang ditulis di Java dan disampaikan kepada pengguna dalam bentuk bytecode. Pengguna meluncurkan applet Java dari halaman web dan kemudian dieksekusi dalam Java Virtual Machine ( JVM ) dalam proses yang terpisah dari web browser itu sendiri . Sebuah applet Java dapat muncul dalam bingkai halaman web , jendela aplikasi baru, Sun appletviewer atau alat yang berdiri sendiri untuk pengujian applet . Applet Java diperkenalkan pada versi pertama dari bahasa Jawa pada tahun 1995 .Java applet dapat ditulis dalam bahasa pemrograman yang mengkompilasi untuk Java bytecode . Mereka biasanya ditulis di Jawa , tetapi bahasa lain seperti Jython , Jruby, Scala atau Eiffel (via SmartEiffel) dapat juga digunakan.Karena bytecode Java adalah cross-platform (atau platform independen), applet Java dapat dieksekusi oleh browser (atau klien lain) untuk banyak platform , termasuk Microsoft Windows, FreeBSD , Unix , OS X dan Linux . Juga mudah untuk menjalankan applet Java sebagai perangkat lunak aplikasi dengan sangat sedikit kode tambahan sehingga dapat dijalankan langsung dari lingkungan pengembangan terpadu ( IDE ) .

49