Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Kamis, 30 April 2015

STRUKTUR KABEL SERAT OPTIK


Struktur kabel serat optik terdiri coating, cladding, dan core. Struktur tersebut mamiliki pengertian sebagai berikut:
2.3.1  Inti (Core)
      Bagian yang paling utama dinamakan bagian inti (core), dimana gelombang cahaya yang dikirimkan akan merambat dan mempunyai indeks bias lebih besar dari lapis kedua. Inti (core) terbuat dari bahan kaca (glass) yang berdiameter 2 μm – 50 μm, dalam hal ini tergantung dari jenis serat optiknya. Ukuran core juga dapat mempengaruhi karakteristik serat optik tersebut.
        2.3.2 Jaket (Cladding)
      Cladding berfungsi sebagai cermin yaitu memantulkan cahaya agar dapat merambat ke ujung lainnya. Dengan adanya cladding ini cahaya dapat merambat dalam core serat optik. Cladding terbuat dari bahan gelas dengan indeks bias yang lebih kecil dari core. Cladding merupakan sekubung dari core. Diameter cladding berkisar antara 5 μm – 250 μm. Hubungan indeks bias antara core dan cladding akan mempengaruhi perambatan cahaya pada core (mempengaruhi besarnya sudut kritis).
2.3.3 Mantel (Coating)
      Coating merupakan bagian terluar dari suatu serat optik yang terbuat dari bahan plastik yang berfungsi untuk melindungi serat optik dari kerusakan, pada coating juga terdapat warna yang membedakan urutan core.

Gambar. 2.4 Struktur Kabel Serat Optik

Minggu, 26 April 2015

Keuntungan dan Kerugian Penggunaan Fiber Optic


Kelebihan Fiber Optic yaitu:
  • Informasi ditransmisikan dengan kapasitas (bandwidth) yang tinggi
  • Signal tidak terpengaruh pada gelombang elektromagnetik dan frekwensi radio, hal ini dikarenakan Fiber Optic (FO) terbuat dari kaca dan plastik
  • Berkemampuan membawa lebih banyak informasi dan mengantarkan informasi dengan lebih akurat dibandingkan dengan kabel tembaga dan kabel coaxial.
  • Kabel fiber optic mendukung data rate yang lebih besar, jarak yang lebih jauh dibandingkan kabel coaxial, sehingga menjadikannya ideal untuk transmisi serial data digital.
  • Karena yang dikirim adalah signal cahaya, maka tidak ada kemungkinan ada percikan api bila serat atau kabel tersebut putus. Selain itu juga tidak menyebabkan tegangan listrik dalam proses perbaikannya bila ada kerusakan.
  • Fiber Optic lebih sulit untuk disadap
Kekurangan Fiber Optic yaitu :
  • Biaya yang mahal untuk peralatannya.
  • Perlu konversi data listrik ke Cahaya dan sebaliknya yang rumit.
  • Perlu peralatan khusus dalam prosedur pemakaian dan pemasangannya.
  • Untuk perbaikan yang kompleks perlu tenaga yang ahli di bidang ini.
  • Selain merupakan keuntungan, sifatnya yang tidak menghantarkan listrik juga merupakan kelemahannya, karena musti memerlukan alat pembangkit listrik eksternal.
  • Bisa menyerap hidrogen yang bisa menyebabkan loss data.

Jaringan Fiber Optik





Jaringan akses fiber atau Optical Access Network atau yang lebih sering disebut dengan JARLOKAF (Jaringan Lokal Akses Fiber), merupakan suatu solusi strategis bagi jaringan pelanggan namun sangat sensitif terhadap jenis teknologi. Penggelaran suatu teknologi JARLOKAF tidak optimum bila diterapkan secara kasus per kasus, baik dari sisi perencanaan maupun pengoperasian. Keberadaan panduan dan ketepatan pemilihan teknologi sangat mempengaruhi kesuksesan kegiatan operasi dan perawatan, efektifitas investasi serta kemudahan menyediakan jasa-jasa baru.

Teknologi

Teknologi JARLOKAF adalah teknologi yang sedang berkembang sehingga berbagai metoda transmisi dimungkinkan untuk diterapkan dan relatif masih terbatas jumlah implementasinya dilapangan. Teknologi Jarlokaf yang saat ini sudah berkembang dangan baik antara lain: DLC (Digital Loop Carrier), PON (Passive Optical Network), dan AON (Active Optical Network) dan HFC (Hybrid Fiber Coax). DLC, PON dan AON, merupakan teknlogi jarlokaf dan dapat terintegrasi dengan copper pair, sedangkan HFC merupakan teknologi jarlokaf yang terintegrasi dengan coaxial.
Pemilihan teknologi JARLOKAF harus memperhatikan beberapa kriteria antara lain :
  • Jenis jasa dan kapasitas.
  • Kemudahan O&M.
  • Konfigurasi dan kehandalan sistem (reliability).
  • Kompatibilitas antarmuka dan sesuai standard (compatibility).
  • Tidak mudah usang dan dijamin produksinya.
  • Biaya efektif.
  • Tahapan pembangunan dan pengembangan dari teknologi JARLOKAF.

Fiber-Copper

Teknologi fiber-copper ini sangat banyak digunakan oleh operator telekomunikasi. Sedangkan teknologi fiber-coax banyak digunakan oleh operator cable TV di dunia. Beberapa teknologi JARLOKAF (fiber-copper) yang sedang berkembang dan diurut berdasarkan jumlah implementasi terbanyak ditunjukkan pada tabel 1.
No
Teknologi
Konfigurasi Dasar
Tipe Jenis Jasa
Keterangan
1. DLC Konevensional
  • Point to point
  • IS-A
  • Telah banyak digunakan di dunia.
    DLC generasi baru (NG DLC) atau Flexible Multipexer
    • Point to point
  • IS-A
  • IS-B
  • Relatif baru dan belum banyak digunakan.
    2. PON
    • Point to multipoint
    • Percabangan sinyal optik pasif
  • IS-A
  • IS-B
  • DS
  • Mulai dioperasikan secara komersial pada tahun 1994.
    3. AON Point to multipoint melalui perangkat percabangan sinyal optik aktif
    • IS-A
    • IS-B
    Dalam tahap pengembangan dan belum banyak digunakan.
    Tabel 1. Teknologi sistem JARLOKAF
    Ada pun PON dan DLC tersebut sudah banyak diimplementasikan. Dari kapasitasnya, PON mau pun DLC mempunyai perbedaan seperti pada tabel 2.

    JARLOKAF
    Type
    Kapasitas Perangkat

    Bit rate


    Di lokasi sentral
    Di lokasi pelanggan

    PON I 800 4 Berbeda Setiap Pabrikan

    II 800 16

    III 800 30

    IV 800 60

    V 800 120
    DLC I 120 120 8 Mbps

    II 240 240 34 Mbps

    III 480 480 34 Mbps

    IV 1920 1920 140 Mbps
    Tabel 2. Kapasitas sistem JARLOKAF
    Fiber-Coax
    Teknologi HFC merupakan suatu langkah teknologi yang unik, yang menggabungkan dua teknologi jaringan yang saling bertolak belakang. Pada satu sisi jaringan kabel tembaga termasuk jaringan kabel koaksial dituntut untuk dapat mengikuti perkembangan layanan menuju layanan pita lebar (broadband services). Pada sisi yang lain digunakan jaringan kabel serat optik dengan kemampuan sangat tinggi yang saat ini sudah mencapai 10 Gbps. Penggabungan teknologi ini diharapkan menghasilkan performansi layanan yang baik, dapat mengimbangi teknologi lain yang berkembang seperti FITL (Fibber in the Loop) atau teknologi xDSL seperti ADSL (Asymetric-data Digital Subscriber Line) dan VDSL (Very high-data Digital Subscriber Line).
    Konfigurasi jaringan dari headend sampai dengan BONU (Broadband ONU) menggunakan jaringan serat optik. Perangkat headend berfungsi sebagai integrasi fungsi modulator-demodulator dan sebagai antar muka. Fungsi modulator-demodulator digunakan untuk layanan broadcast dan off air TV, sementara fungsi antar muka digunakan dengan PSTN (Public Switched Telephone Network), dan komunikasi data.
    Pada beberapa referensi terdapat pemakaian istilah yang berbeda, namun mempunyai maksud yang sama. Seperti penggunaan istilah HIU (Headend Interface Unit), CIU dengan CTU (Coaxial Terminal Unit), MDU dengan istilah CNU (Coaxial Network Unit). Penamaan istilah ini tergantung dari produk masing-masing vendor. Namun pada suatu saat nanti perlu adanya standarisasi dalam penamaannya.
    Media yang digunakan dari headend sampai dengan fiber node adalah kabel serat optik, sebagai jaringan backbone. Sementara jaringan kabel koaksial dimulai dari titik fiber node sampai dengan terminal CUI, BIU atau MDU. Termasuk didalamnya sistem pencatuan perangkat, tapper dan amplifier. Perangkat CIU (Customer Unit Interface) digunakan untuk daerah residensial/perumahan, BIU (Business Interface Unit) untuk gedung perkantoran dan MDU (Multiple Dwelling Unit) pada apartemen/flat.
    Layanan
    Sistem DLC banyak digunakan bagi pelanggan yang terkumpul di gedung tinggi. Pemilihan sistem DLC basic atau primary disesuaikan dengan perkiraan pertumbuhan kebutuhan pelanggan dan pertimbangan investasi.
    Sistem PON dapat digunakan bagi pelanggan terkumpul digedung tinggi maupun pelanggan tersebar di rumah-rumah tunggal dan akan semakin ekonomis bila digunakan juga untuk menyalurkan jasa TV kabel (CATV) dan jasa pita lebar lainnya. Hal ini ditempuh dengan cara instalasi co-located yaitu menggunakan kabel serat optik dan perangkat catu daya yang sama.

    Layanan PON DLC
    POTS Ö Ö
    Payphone Ö Ö
    Saluran sewa analog Ö Ö
    Saluran sewa digital 64 kbit/s Ö Ö
    ISDN BRA Ö Ö
    ISDN PRA Ö -
    Saluran sewa N x 64 kbit/s Ö -
    Saluran sewa 2 Mbit/s Ö -
    CATV Ö -
    Tabel 3. Perbandingan layanan DLC dan PON
    Transmisi
    Baik PON, DLC, maupun teknologi jarlokaf lainnya menggunakan suatu teknik transmisi. Teknologi transmisi jasa interaktif pita sempit pada JARLOKAF ditunjukkan pada tabel 4.


    Skema Transmisi
    Skema Transmisi Dua Arah
    Jumlah Serat Optik
    Panjang Gelombang
    Keterangan
    Space Division Multiplexing (SDM)
    Simpleks
    2 (dua)
    1310 nm sinyal kirim dan sinyal terima Sinyal kirim dan sinyal terima dikirim melalui serat optik yang berbeda.
    Wave Division Multiplexing (WDM)
    Dipleks
    1 (satu)
    • 1550 nm sinyal kirim
    • 1310 nm sinyal terima
    Sinyal kirim dan sinyal terima dikirim pada waktu yang bersamaan tetapi menggunakan panjang gelombang yang berbeda
    • 1310/1550 + x nm sinyal kirim
    • 1310/ 1550 - x nm sinyal terima
    Time Compression Multiplexing (TCM)
    Dupleks
    1 (satu)
    1310 nm sinyal kirim dan sinyal terima Sinyal kirim dan sinyal terima di-kirm pada waktu yang berbeda dan bergantian
    Tabel 4. Teknologi transmisi jasa interaktif pita sempit
    Antarmuka
    Teknologi antarmuka perangkat JARLOKAF dengan sentral lokal (STO) yang digunakan adalah :
    • Antarmuka Z (analog 2 kawat)
    • Antarmuka digital 2 Mbps V5.1
    • Antarmuka digital 2 Mbps V5.2.
    Konfigurasi antarmuka V5.x ditunjukkan pada gambar 1.
    Gambar 1. Konfigurasi antarmuka V5.2
    Keterangan:
    • Ia = Titik referensi disisi LE
    • Ib = titik referensi disisi AN
    • QLE = Titik referensi TMN disisi LE
    • QAN = Titik referensi TMN disisi AN
    Modus Aplikasi Sistem JARLOKAF paling sedikit memiliki 2 (dua) buah perangkat opto-elektronik yaitu 1 (satu) perangkat opto-elektronik di sisi sentral dan 1 (satu) perangkat di sisi pelanggan selanjutnya disebut Titik Konversi Optik (TKO).
    Perbedaan letak TKO menimbulkan modus aplikasi atau arsitektur JARLOKAF berbeda pula yaitu:

    Fiber To The Zone (FTTZ)

    TKO terletak di suatu tempat diluar bangunan, baik didalam kabinet dengan kapasitas besar. Terminal pelanggan dihubungkan dengan TKO melalui kabel tembaga hingga beberapa kilometer. FTTZ umumnya diterapkan pada daerah perumahan yang letaknya jauh dari sentral atau bila infrastruktur duct pada arah yang bersangkutan, sudah tidak memenuhi lagi untuk ditambahkan dengan kabel tembaga. Arsitektur FTTZ dapat dilihat pada gambar 2.
    Gambar 2. Arsitektur FTTZ

    Fiber To The Curb (FTTC)

    TKO terletak di suatu tempat diluar bangunan, didalam kabinet dan diatas tiang dengan kapasitas lebih kecil (£ 120 SST). Terminal pelanggan dihubungkan dengan TKO melalui kabel tembaga hingga beberapa ratus meter. FTTC dapat diterapkan bagi pelanggan bisnis yang letaknya terkumpul di suatu area terbatas namun tidak berbentuk gedung-gedung bertingkat atau bagi pelanggan perumahan yang pada waktu dekat akan menjadi pelanggan jasa hiburan. Arsitektur FTTC dapat dilihat pada gambar 3.
    Gambar 2.3 Arsitektur FTTC

    Fiber To The Building (FTTB)

    TKO terletak di dalam gedung dan biasanya terletak pada ruang telekomunikasi di basement namun juga dimungkinkan diletakkan pada beberapa lantai di gedung tersebut. Terminal pelanggan dihubungkan dengan TKO melalui kabel tembaga indoor atau IKR. FTTB dapat diterapkan bagi pelanggan bisnis di gedung-gedung bertingkat atau bagi pelanggan perumahan di apartemen. Arsitektur FTTB dapat dilihat pada gambar 4.
    Gambar 4 Arsitektur FTTB

    Fiber To The Home (FTTH)

    TKO terletak di dalam rumah pelanggan. Terminal pelanggan dihubungkan dengan TKO melalui kabel tembaga indor atau IKR hingga beberapa puluh meter. Arsitektur FTTH dapat dilihat pada gambar 5.
    Gambar 5 Arsitektur FTTH

    Sabtu, 25 April 2015

    Fiber optic

    A. Pengantar
    Fiber optic adalah media transmisi yang terbuat dari serat kaca dan plastik yang menggunakan bias cahaya dalam mentransmisikan data. Sumber cahaya yang digunakan adalah laser karena mempunyai spectrum yang sangat sempit.  Media transmisi fiber optic sudah menggantikan eranya media copper (tembaga) dengan alasan bahwa fiber optic memiliki kelebihan, yaitu : informasi ditransmisikan dengan kapasitas (bandwidth) yang tinggi, karena murni terbuat dari kaca dan plastik maka signal tidak terpengaruh pada gelombang elektromagnetik dan frekwensi radio. Sementara media tembaga dapat dipengaruhi oleh interferensi gelombang elektromagnetik dan media wireless dipengaruhi oleh frekwensi radio. Dengan kelebihan yang dimiliki ini maka fiber optic sudah banyak digunakan sebagai tulang punggung (backbone) jaringan telekomunikasi.
    Dari segi penggunaan fiber optic dibagi dalam dua jenis, yaitu single mode dan multi mode. Perbedan single mode dan multi mode adalah bahwa single mode memiliki ukuran core yang kecil, sumber sinar laser, unlimited bandwidth, dan jarak yang jauh ( > 60 km ) sedangkan multi mode memiliki ukuran core yang lebih besar, sumber sinar laser atau Light Emitting Diodes (LED), bandwidth terbatas, jarak sekitar (300 – 500 m) . Struktur dasar fiber optic terdiri dari tiga bagian yaitu core (inti), cladding (kulit), dan buffer (pelindung) atau coating (mantel). Core dan cladding terbuat dari kaca sedangkan buffer atau coating terbuat dari plastik biar fleksibel.
    picture1
    Gambar struktur dasar fiber optic
    B. Aksesoris Fiber Optic
    Dalam jaringan telekomunikasi khususnya fiber optik banyak menggunkan aksesoris, diantaranya adalah :
    Pemasangan Fiber Optic (Fiber Optic Assemblies):
    Terdiri atas connector, pigtail, dan patch cord.
    Connector adalah ujung dari fiber optic, jenisnya banyak sesuai dengan kebutuhan dilapangan.
    picture2
    Gambar Connector Fiber Optic
    Pigtail adalah sepotong kabel yang hanya memiliki satu buah konektor diujungnya, pigtail akan disambungkan dengan kabel fiber yang belum memiliki konektor.
    picture3
    Gambar pigtail
    Patch cord adalah kabel fiber optic yang pada dua sisi ada konektor. Patch cord digunakan untuk menghubungkan device atau dikenal juga dengan optic jumper.
    picture4
    Gambar patch cord
    Wall-Mount
    Wall-mount adalah terminasi  fiber optic yang menempel di dinding.
    picture5
    Gambar Wall-Mount
    Optical Termination Box (OTB)
    Optical Termination Box (OTB) adalah terminasi fiber optic yang ada pada rak atau boks.
    picture6
    Gambar OTB
    Joint Closure
    Joint Closure adalah titik sambung dari fiber optic.
    picture7
    Gambar Joint Closure
    High Distribution Cabinet
    High Distribution Cabinet adalah rak tempat terminasi fiber optic .
    picture8

    Gambar High Distribution Cabinet
    C. Testing (OTDR dan Power Meter)
    Optical Time Domain Reflectometer (OTDR)
    OTDR  merupakan alat yang dapat digunakan untuk mengevaluasi suatu fiber optic pada domain waktu. Beberapa parameter yang dapat diukur pada OTDR adalah :
    • Jarak
    Titik lokasi dalam suatu link, ujung link atau patahan.
    • Loss
    Loss untuk masing-masing splice atau total loss dari ujung ke ujung dalam suatu link.
    • Atenuasi
    Atenuasi dari serat dalam suatu link.
    • Refleksi
    Besar refleksi (return loss) dari suatu event.
    Informasi mengenai redaman serat, loss sambungan, loss konektor dan lokasi gangguan serta loss antara dua titik dapat ditentukan dari monitor OTDR. OTDR memungkinkan sebuah link diukur dari salah satu ujung.
    picture9
    Gambar OTDR
    Power Meter
    Power meter dipakai untuk mengukur total loss dalam sebuah link optic baik saat instalasi (uji akhir) atau pemeliharaan. Penggunaan power meter harus berada pada kedua ujung kabel fiber optic.
    picture10
    Gambar Power Meter
    D. Splicing (Fusion Splicer)
    Proses penyambungan/ splicing terdiri dari beberapa langkah kerja berikut :
    a.  Stripping/ pengupasan lapisan coating ujung fiber optic dengan stripper
    b.  Membersihkan ujung fiber optic
    c.   Perataan ujung fiber optic dengan cleaver
    d.  Meletakkan ujung-ujung fiber optic pada V-groove alat sambung dan pelurusannya oleh alat sambung.
    e.   Peleburan dan perekatan ujung fiber optic menggunakan pancaran listrik dari elektroda
    f.    Analisa hasil sambungan
    g.   Pemberian pelindung dan penyimpanan sambungan
    picture11

    Selasa, 21 April 2015

    Soal-Soal Praktikum DST

    1). 192.168.1.2 merupakan contoh IPv4 kelas.....
    a). Kelas A        c). Kelas C
    b). Kelas B        d). Kelas D

    2). Berapa bit kah ipv4?
    a). 32 bit        c). 16 bit
    b). 64bit         d). 128 bit

    3). Berikut ini yang bukan merupakan jenis topology adalah..
    a). Bus           c). Hybrid
    b). clone         d). Star

    4). Beberapa jenis protokol, kecuali...
    a). IPv4              c).HTP
    b). IP                  d). HTTPS

    5).Routing, Subnetting, usermanagement, bandwithmanagement, merupakan sejumlah fungsi dari perangkat...
    a). Hub                c). Router
    b). Server             d). modem

    ---------------------------Selamat menjawab Good Luck :* :* :* :*.............................................................

    ABSPATH

    ABSPATH = constant, sprti variable kecuali constant di define hnya sekali dn value ny brnilai tetap / ga berubah.
    . / dot / titik = concatenation / utk mnyambungkan 2 / lbh string.

    contoh:
    <?php
    define('ABSPATH', 'http://localhost/include/');
    define('FB_API', 'http://graph.facebook.com/');

    echo ABSPATH .' dan '. FB_API;

    //hampir sama dengan menggunakan variable:

    $abspath = 'http://localhost/include/';
    $fb_api = 'http://graph.facebook.com/';

    echo $abspath .' dan '. $fb_api;

    Membuat koneksi database dengan php

    Kali ini kita akan membuat fungsi untuk melakukan koneksi database MySQL menggunakan bahasa PHP, jika biasanya koneksi dilakukan dengan memanggil berkas yang sudah berisi perintah koneksi. Maka, untuk kasus ini perintah koneksi akan kita ubah menjadi sebuah fungsi yang dapat dipanggil. ada dua fungsi yang akan kita buat, pertama koneksi_buka() untuk melakukan koneksi ke database dan koneksi_tutup() untuk menutup koneksi dari database.

    Langkah 1

    pertama-tama buat database pada MySQL atau phpMyAdmin dengan nama bebas, kemudian buat tabel dengan field seperti di bawah ini. Kemudian isikan dengan beberapa data.
    fungsi-koneksi-mysql-php-1
    1
    2
    3
    4
    5
    CREATE TABLE IF NOT EXISTS `biodata` (
     `nama` varchar(50) NOT NULL,
     `tmp_lahir` varchar(30) NOT NULL,
     `tgl_lahir` date NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Langkah 2

    pada folder root webserver anda (bisa www/htdocs/html) buat folder baru dengan nama bebas, misal : latdb kemudian buat file
    fungsi-koneksi-mysql-php-2
    konfigurasi.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    define('DB_NAMA', 'nm_database'); // sesuaikan dengan nama database anda
    define('DB_USER', 'root'); // sesuaikan dengan nama pengguna database anda
    define('DB_PASSWORD', 'password'); // sesuaikan dengan kata sandi database anda
    define('DB_HOST', 'localhost'); // ganti jika letak database mysql di komputer lain
     
    // mengambil alamat direktori tempat berkas konfigurasi.php disimpan
    define('ABSPATH', dirname(__FILE__).'/');
     
    // memanggil berkas fungsi.php
    require ABSPATH.'fungsi.php';
    ?>
    fungsi.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    </pre>
    <?php
    // fungsi untuk melakukan koneksi ke database mysql
    function koneksi_buka() {
     mysql_select_db(DB_NAMA,mysql_connect(DB_HOST,DB_USER,DB_PASSWORD));
    }
     
    // fungsi untuk menutup koneksi ke database mysql
    function koneksi_tutup() {
     mysql_close(mysql_connect(DB_HOST,DB_USER,DB_PASSWORD));
    }
    ?>
    <pre>
    index.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    </pre>
    <?php
     // memanggil berkas konfigurasi.php
     require 'konfigurasi.php';
     
    // membuka koneksi dengan database
     koneksi_buka();
    ?>
    <table border="1">
     <tr>
     <td>Nama</td>
     <td>Tempat Lahir</td>
     <td>Tanggal Lahir</td>
     </tr>
     <?php
     $query = mysql_query("SELECT * FROM biodata");
     while($data=mysql_fetch_array($query)) {
     ?>
     <tr>
     <td><?php echo $data['nama']?></td>
     <td><?php echo $data['tmp_lahir']?></td>
     <td><?php echo $data['tgl_lahir']?></td>
     </tr>
     <?php } ?>
    </table>
    <?php
     // menutup koneksi dengan database
     koneksi_tutup();
    ?>
    <pre>

    Langkah 3

    pada browser favorit anda ketikkan alamat http://localhost/nama_direktori, karena saya menggunakan direktori latdb maka saya mengetikkan alamat http://localhost/latdb maka akan tampil seperti gambar di bawah ini
    fungsi-koneksi-mysql-php-3

    Rabu, 08 April 2015

    Fungsi Include_Once , dan require_onec

    Include_once dan Require_once adalah fungsi untuk menyertakan sebuah file PHP kedalam file PHP lainnya dan memastikan file yang disertakan tersebut hanya dieksekusi sekali saja meskipun disertakan beberapa kali dalam beberapa baris program. Hal ini untuk menghindari kemungkinan kesalahan karena eksekusi berulang pada file yang disertakan tadi.

    Jadi saat dijalankan, fungsi include_once dan require_once mengecek keberadaan file selama eksekusi script. Jika sudah pernah dijalankan maka penyertaan yang kedua dalam satu script tidak dieksekusi. Include_once dapat digunakan dalam kasus-kasus di mana file yang sama mungkin disertakan dan dievaluasi lebih dari sekali selama eksekusi script tertentu, sehingga dalam hal ini dapat membantu menghindari masalah seperti redefinitions fungsi, penugasan kembali nilai variabel dan sebagainya.

    Fungsi include_once

    Karakter dari fungsi include_once adalah sama dengan fungsi include, yaitu jika ada error pada file yang disertakan  script dibawahnya akan tetap dijalankan dan browser hanya menampilkan pesan error Warning saja.

    Cara penulisan fungsi include_once

     include_once("nama_file_beserta_path");  
     atau  
     include_once "nama_file_beserta_path";  
    

    Contoh penggunaan fungsi include_once

    1. Buat script berikut ini pada text editor lalu simpan dengan nama contoh_include_once.php
    1. <?php     
    2. echo "Hari ini:".date("Y-m-d");     
    3. ?>     
    2. Buat script untuk file utama yang menyertakan file tadi seperti ini
    1. <?php     
    2. include_once('contoh_include_once.php');     
    3. include_once('contoh_include_once.php');     
    4. include_once('file_fiktif.php');     
    5. echo "script dibawah file fiktif";    
    6. ?>    
    3. Jalankan file utama pada browser, jika benar maka tampilan Hari ini beserta tanggan hanya ditampilkan sekali saja dan dibawahnya akan muncul pesan error Warning namun tetap menampilkan tulisan "script dibawah file fiktif". Lebih jelas perhatikan tampilan berikut ini
    contoh php include_once

    Fungsi require_once

    Mirip dengan fungsi include_once, karakter dari require_once juga sama dengan fungsi require, yaitu jika ada error pada file yang disertakan maka browser akan menampilkan Fatal error dan script selanjutnya tidak dijalankan.

    Cara penulisan fungsi require_once

     require_once("nama_file_beserta_path");  
     atau  
     require_once "nama_file_beserta_path";  
    

    Contoh penggunaan fungsi require_once

    1. Buat script berikut ini pada text editor lalu simpan dengan nama contoh_require_once.php
    1. <?php     
    2. echo "Hari ini:".date("Y-m-d");     
    3. ?>     
    2. Buat script untuk file utama yang menyertakan file tadi seperti ini
    1. <?php     
    2. require_once('contoh_require_once.php');     
    1. require_once('contoh_require_once.php');     
    2. require_once('file_fiktif.php');     
    3. echo "script dibawah file fiktif";    
    4. ?>    
    3. Jalankan file utama pada browser, jika benar maka tampilan Hari ini beserta tanggan hanya ditampilkan sekali saja dan dibawahnya akan muncul pesan Fatal Error dan tidak menampilkan tulisan "script dibawah file fiktif". Lebih jelas perhatikan tampilan berikut ini
    contoh php require_once

    Kesimpulan

    Fungsi include_once dan require_once digunakan untuk mencegah kesalahan ketika membutuhkan penyertaan file hanya dieksekusi sekali dan dikhawatirkan error jika dieksekusi dua kali atau lebih. Fungsi include_once dan require_once sebaiknya ditaruh pada bagian atas saat penulisan program PH P agar script dibawahnya bisa turut menggunakan file yang disertakan.
    Sumber: http://www.nulis-ilmu.com/2014/10/memahami-fungsi-include-once-dan-require-once.html

    Kamis, 02 April 2015

    Mengenal Fungsi PHP untuk Pengambilan Data MySQL: mysql_fetch_*

    Mengenal Fungsi PHP untuk Pengambilan Data MySQL: mysql_fetch_*

    PHP dan MySQL, seolah pasangan sejati yang tak terpisahkan. Keduanya paling sering disandingkan dalam pembuatan aplikasi berbasis web (web application development). Tak heran jika begitu banyak fungsi terkait dengan MySQL yang disediakan oleh PHP. Setidaknya terdapat 45 fungsi PHP terkait dengan MySQL mulai dari koneksi, pengambilan data, query data hingga informasi server MySQL.
    Dalam tutorial ini akan dikenalkan berbagai fungsi PHP terkait dengan pengambilan data MySQL. Pengambilan data yang dimaksud disini tepatnya adalah pengolahan hasil perintah query SELECT yang dihasilkan dari fungsi mysql_query(). Hasil perintah query dapat diolah untuk ditampilkan atau diproses oleh PHP melalui berbagai fungsi yang diawali dengan mysql_fetch_*. Terkait hal tersebut, PHP memiliki 6 (enam) fungsi yaitu: mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object() dan mysql_fetch_row().
    Dalam tutorial ini akan dijelaskan kegunaan dari 4 (empat) fungsi yaitu mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object() dan mysql_fetch_row(). Sementara dua fungsi lainnya yaitu mysql_fetch_field() dan mysql_fetch_lengths() tidak dijelaskan di tutorial ini karena keduanya tidak terlalu berkaitan dengan pengambilan data MySQL, selain itu keduanya akan dihilangkan setelah PHP versi 5.5.0.

    Untuk keperluan contoh program dalam tutorial ini, kita akan menggunakan struktur tabel “mahasiswa” sebagai berikut:
    FIELD TYPE LENGTH DESCRIPTION
    nim VARCHAR 10 NIM Mahasiswa
    nama VARCHAR 30 NAMA Mahasiswa
    alamat TEXT - Alamat Mahasiswa
    Dan berikut ini isi dari tabel mahasiswa tersebut:
    mysql> select * from mahasiswa; 
    +------------+-----------------------+---------------------------------------------------------+ 
    | nim | nama | alamat | 
    +------------+-----------------------+---------------------------------------------------------+ 
    | 0111500382 | Achmad Solichinn | Jl. Raya Ciledug, Jakarta Selatan | 
    | 0411500300 | Chotimatul Musyarofah | Peninggilan, Kec. Ciledug, Tangerang, Banten, Indonesia | 
    | 0911500292 | Muhammad Lintang | Jakarta Selatan, DKI Jakarta | 
    | 1011500101 | Budi Susanto | Jl. Ciledug Raya, Petukangan Utara | 
    +------------+-----------------------+---------------------------------------------------------+

    mysql_fetch_array() : Array asosiatif dan Array numerik


    Fungsi mysql_fetch_array() merupakan salah satu fungsi yang banyak digunakan dalam proses pengambilan data MySQL. Fungsi ini akan menangkap data dari hasil perintah query dan membentuknya ke dalam array asosiatif dan array numerik. Jadi, fungsi mysql_fetch_array() menawarkan kemudahan dan fleksibilitas dalam mengakses data. Namun demikian, penggunaan fungsi ini dianggap kurang efektif dari sisi performa karena terlalu “boros” penyimpanan.
    Untuk memberikan gambaran bagaimana penggunaan fungsi mysql_fetch_array(), perhatikan contoh berikut ini:
    Code block   
    1. <?php
    2. mysql_connect("localhost", "root", "qwerty");
    3. mysql_select_db("demo");
    4.  
    5. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    6. echo "<h3>mysql_fetch_array cara array asosiatif</h3>";
    7. while ($baris = mysql_fetch_array($sql)) {
    8. echo $baris['nim']. " ". $baris['nama']. "<br/>";
    9. }
    10.  
    11. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    12. echo "<h3>mysql_fetch_array cara array numerik</h3>";
    13. while ($baris = mysql_fetch_array($sql)) {
    14. echo $baris[0]. " ". $baris[1]. "<br/>";
    15. }
    16.  
    17. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    18. echo "<h3>Struktur array (mysql_fetch_array)</h3>";
    19. while ($baris = mysql_fetch_array($sql)) {
    20. echo "<pre>";
    21. print_r($baris);
    22. echo "</pre>";
    23. }
    24.  
    25. ?>

    Seperti sudah dinyatakan sebelumnya bahwa fungsi mysql_fetch_array() akan menghasilkan struktur data dalam bentuk array asosiatif maupun array numerik. Pada contoh diatas, dengan menggunakan fungsi mysql_fetch_array(), dapat ditampilkan nilai dari masing-masing baris hasil perintah query SELECT. Cara menampilkan data dapat menggunakan “gaya” array asosiatif seperti terlihat pada baris ke-8 dimana nama field akan menjadi index array, dan juga dapat menggunakan “gaya” array numerik seperti terlihat pada baris ke-14 dimana indexnya berupa nilai numerik sesuai urutan field hasil perintah query SELECT. Urutan numerik tersebut diawali dari 0.
    Struktur array yang dihasilkan oleh fungsi mysql_fetch_array() dapat diketahui dengan menggunakan fungsi print_r() seperti perintah pada baris ke-21. Hasilnya akan terlihat seperti pada gambar berikut ini:
    fetch-array-print-r

    mysql_fetch_assoc() : Array asosiatif saja


    Dalam hal pengambilan data MySQL, saat ini saya lebih sering menggunakan fungsi mysql_fetch_assoc() dibanding fungsi lainnya. Fungsi ini menghasilkan array asosiatif yang mana index-nya sesuai dengan nama kolom yang diseleksi. Mudahnya, tidak tergantung pada urutan kolom, yang penting index-nya sesuai. Dari sisi programmer juga menjadi lebih informatif. Untuk memberikan gambaran bagaimana penggunaan fungsi mysql_fetch_assoc(), perhatikan contoh berikut ini:
    Code block   
    1. <?php
    2. mysql_connect("localhost", "root", "qwerty");
    3. mysql_select_db("demo");
    4.  
    5. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    6. echo "<h3>mysql_fetch_assoc cara array asosiatif</h3>";
    7. while ($baris = mysql_fetch_assoc($sql)) {
    8. echo $baris['nim']. " ". $baris['nama']. "<br/>";
    9. }
    10.  
    11. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    12. echo "<h3>Struktur array (mysql_fetch_assoc)</h3>";
    13. while ($baris = mysql_fetch_assoc($sql)) {
    14. echo "<pre>";
    15. print_r($baris);
    16. echo "</pre>";
    17. }
    18. ?>

    Tidak seperti mysql_fetch_array(), fungsi mysql_fetch_assoc() hanya menghasilkan array asosiatif dimana index-nya merepresentasikan nama kolom yang diseleksi. Pada program di atas terlihat bahwa pada baris ke-8, untuk setiap baris hasil perintah query akan ditampilkan nilainya. Sementara itu, jika dilihat dari strukturnya, mysql_fetch_assoc() hanya menghasilkan array asosiatif seperti terlihat pada potongan tampilan program 2 di atas berikut ini.
    fetch-assoc

    mysql_fetch_row() : Array numerik saja


    Untuk kasus-kasus tertentu, saya terkadang lebih memilih menggunakan fungsi mysql_fetch_row() dibanding yang lainnya. Contohnya pada saat saya ingin mengambil jumlah hasil perintah query dengan menggunakan fungsi COUNT() di MySQL. Program berikut ini akan menampilkan jumlah record dengan fungsi COUNT() dan diambil dengan fungsi mysql_fetch_row(). Pada bagian akhir program juga ditampilkan struktur array dengan perintah mysql_fetch_row().
    Code block   
    1. <?php
    2. mysql_connect("localhost", "root", "qwerty");
    3. mysql_select_db("demo");
    4.  
    5. $sql = mysql_query ("SELECT COUNT(*) FROM mahasiswa");
    6. $baris = mysql_fetch_row($sql);
    7. echo "Jumlah data: ". $baris[0]. "<br/>";
    8.  
    9. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    10. echo "<h3>Struktur array (mysql_fetch_row)</h3>";
    11. while ($baris = mysql_fetch_row($sql)) {
    12. echo "<pre>";
    13. print_r($baris);
    14. echo "</pre>";
    15. }
    16. ?>


    mysql_fetch_object() : Gaya object-oriented


    Fungsi mysql_fetch_object() akan menyajikan hasil perintah query dalam gaya penulisan object oriented. Sama seperti mysql_fetch_assoc(), fungsi ini menjadikan nama kolom hasil perintah query menjadi property dari obyek. Contoh penggunaannya tampak pada program 4 di bawah ini. Penggunaan fungsi ini sebaiknya dihindari untuk keperluan mendatang karena fungsi ini akan deprecated pada versi PHP 5.5.0 dan akan dihilangkan pada versi selanjutnya.
    Code block   
    1. <?php
    2. mysql_connect("localhost", "root", "qwerty");
    3. mysql_select_db("demo");
    4.  
    5. $sql = mysql_query ("SELECT nim, nama FROM mahasiswa");
    6. echo "<h3>mysql_fetch_object</h3>";
    7. while ($baris = mysql_fetch_object($sql)) {
    8. echo $baris->nim. " ". $baris->nama. "<br/>";
    9. }
    10. ?>

    Perbandingan Kecepatan

    Untuk menguji kecepatan dari keempat fungsi di atas, saya mencoba melakukan pengujian dengan menerapkan keempat fungsi untuk mengambil data yang berjumlah 1.135.392 record. Hasilnya sebagai berikut:
    mysql_fetch_array() : 18.302305936813 detik
    mysql_fetch_assoc() : 16.9645819664 detik
    mysql_fetch_row() : 16.664786100388 detik
    mysql_fetch_object() : 35.827367067337 detik
    Perbandingan Kecepatan Fungsi
    Perbandingan Kecepatan Fungsi

    Jadi, mana yang sebaiknya digunakan dalam pengambilan data dari database MySQL? Dari pengujian sederhana di atas, yang jelas kita sebaiknya menghindari penggunaan fungsi mysql_fetch_object() karena disamping paling buruk dari sisi kecepatan, juga karena fungsi tersebut akan segera dihilangkan dari fungsi bawaan PHP. Selanjutnya, untuk ketiga fungsi lainnya masih layak untuk digunakan karena secara kecepatan hampir seimbang. Pilihannya tinggal menyesuaikan kebutuhan programmer.
    Sebagai masukan, berkaitan dengan komunikasi antara PHP dengan database MySQL, kita sebaiknya mulai beralih dari penggunaan fungsi mysql_* menjadi fungsi mysqli_* atau gunakan abstraction layer database. Sebagai informasi awal, MySQLi (mysql improved) merupakan library mysql yang telah ditingkatkan kemampuan, kecepatan dan performanya. Semoga di tutorial mendatang, kita dapat membahas mengenai library MySQLi tersebut.
    Semoga tutorial ini bermanfaat untuk kita semua dan berbagilah hal baik ke sebanyak-banyaknya orang maka kebahagiaan akan menghampiri Anda. Satu Karya untuk Indonesia!

    Download Tutorial