Search

Onestring

Little Thoughts

Category

Programming

Fungsi Bilangan Prima Pada C

Bilangan Prima merupakan bilangan yang hanya habis dibagi dengan dirinya sendiri. Bilangan Prima semuanya adalah bilangan ganjil kecuali bilangan 2. Bilangan Prima mulai dari angka 2. Pada tulisan ini akan dibahas mengenai bagaiman membuat sebuah fungsi yang berguna untuk mengecek apakah sebuah bilangan itu bilangan prima atau bukan.

Sebelum membuat fungsinya maka perlu diketahui dulu algoritma dari pengecekan sebuah bilangan Prima. Algoritmanya adalah sebagai berikut :

  1. Bila bilangan sama dengan 2 maka bilangan Prima
  2. Bila bilangan lebih kecil dari 2 maka bukan bilangan Prima
  3. Bilangan di modulus dengan bilangan yang lebih kecil dari nya, dimulai dari angka 2 sampai dengan bilangan setengah dari bilangan tersebut bila pada proses pembagian menghasilkan 0 maka bukan bilangan priman. Jika tidak pernah menghasilkan 0 maka bilangan prima. Contoh mengecek bilangan 19 maka dimoduluskan dengan bilangan 2,3,4,5,6,7 dan 8, dalam setiap proses modulus bilangan 19 tidak pernah menghasilkan 0, maka 19 adalah bilangan prima.

Berikut ini contoh kode lengkapnya :

#include <stdio.h>

int cekPrima(int a){
   int i,hasilCek;

   if (a<2){
    hasilCek=0;
   }
   else if (a==2){
    hasilCek=1;
   }
   else {
    for(i=2;i<a/2;i++){
        hasilCek=1;
        if(a%i==0){
           hasilCek=0;
           i=a;
       }
    }
   }
return hasilCek;
}

int main(){

   int prima,hasilcek;
   printf("Masukkan Bilangan = ");
   scanf("%d",&prima);

   hasilcek=cekPrima(prima);

   if(hasilcek==1){
    printf("Bilangan %d adalah Bilangan Prima",prima);
   }else{
    printf("Bilangan %d adalah BUKAN Bilangan Prima",prima);
   }
}

Pada program tersebut fungsi akan memberikan nilai balikan 1 jika bilangan yang dimasukkan adalah bilangan prima dan memberikan nilai balikan 0 jika nilai yang dimasukan buka bilangan Prima.

Demikian penjelasan singkat pembuatan fungsi mengecek bilangan Prima dengan bahasa C.

Membuat Fungsi Pada Bahasa C

Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi pustaka atau fungsi yang telah tersedia dalam Turbo C dan fungsi yang didefinisikan atau dibuat oleh programmer. Beberapa Contoh dari fungsi pustaka adalah stdio.h, stdlib.h, string.h, ctype.h, math.h dan time.h. Pada modul ini akan dipelajari bagaimana membuat fungsi sendiri.

Deklarasi Fungsi Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.

tipe_keluaran_fungsi nama_fungsi(parameter_fungsi);

Hal-hal yang perlu diperhatikan dalam penggunaan fungsi :

  • Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan nilai keluaran bertipe integer.
  • Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan pendefinisian penentu tipe fungsi.
  • Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam tipe void.
  • Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return.
  • Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya

Contoh Program Menggunakan fungsi :

Membuat Fungsi Tambah

#include "stdio.h"

/* prototype fungsi tambah(), ada titik koma */
float tambah(float x, float y);

main(){
    float a, b, c;
    printf("A = "); scanf("%f", &a);
    printf("B = "); scanf("%f", &b);
    c = tambah(a, b); /* pemanggilan fungsi tambah() */
    printf("A + B = %.2f", c);
}

/* Definisi fungsi , tanpa titik koma */
float tambah(float x, float y){
    return (x+y); /* Nilai balik fungsi */
}

Penjumlahan 3 Variabel

#include <stdio.h>

int hasilTambah(int x,int y, int z){
  int penjumlahan;
  penjumlahan = x + y + z;
  return penjumlahan;
}

int hasilKurang(int x,int y, int z){
  int pengurangan;
  pengurangan = x - y - z;
  return pengurangan;
}

main(){

  int a,b,c,hasil;

  a = 1;  b = 2;  c = 3;

  hasil = hasilTambah(a, b, c);
  printf("Hasil penjumlahan : %d\n", hasil);

  hasil = hasilKurang(a, b, c);
  printf("Hasil pengurangan : %d\n", hasil);

}

Pengelolaan Array

#include <stdio.h>

int tambah15(int a){
if(a<50){
a=a+15;
}
return a;
}

main(){
int i;
int arrayAwal[10]={60,70,45,35,80,65,45,90,55,30};

printf("Data Awal:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
for(i=0;i<10;i++){
arrayAwal[i]=tambah15(arrayAwal[i]);
}
printf("\n\nData Setelah Diproses:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
printf("\n");
}

Pengecekan Bilangan Ganjil atau Genap

#include <stdio.h>
#include <string.h>

int cekGanjilGenap(int a){
int hasilCek;

if (a%2==0){
hasilCek=0;
}else{
hasilCek=1;
}
return hasilCek;
}

int main(){

int bilangan,cek;
char hasil[10];

printf("Masukan Bilangan = "); scanf("%d", &bilangan);
if(cekGanjilGenap(bilangan)==0){
strcpy(hasil,"Genap");
}else{
strcpy(hasil,"Ganjil");
}
printf("%d termasuk bilangan %s",bilangan,hasil);
}

Demikian penjelasan singkat mengenai teknik pembuatan fungsi pada bahasa C, silahkan eksplorasi lebih lanjut ke onestringlab.com

Membuat Halaman 3 Kolom Dengan CSS3

Terkadang dibutuhkan suatu halaman yang terdiri dari beberapa kolom seperti yang tercetak pada koran. Salah satu keuntungan sebuah artikel terdiri dari beberapa kolom adalah kemudahan untuk membacanya. Bila artikel terlalu  panjang secara horizontal akan menyulitkan pembaca untuk menemukan baris berikutnya. Pada tulisan ini akan dibahas mengenai teknik pembuatannya artikel dengan layout beberapa kolom.

CSS3 memiliki kemampuan untuk mengatur tulisan atau artikel kedalam bentuk beberapa kolom. Kemampuan pengaturan yang dimiliki oleh CSS3 untuk kolom sudah sesuai dengan yang dibutuhkan.

Browser Pendukung

Kemampuan ini didukung hampir oleh semua browser yang ada, seperti yang terlihat pada bagan tabel berikut ini:

Kompatibilitas CSS3-Column. Sumber: http://caniuse.com

Tabel 1. Kompatibilitas CSS3-Column

Properti

CSS3-Column memberikan properti yang cukup lengkap sehingga tata layout dapat di sesuaikan dengan kebutuhan. Properti tersebut adalah:

  1. column-count: untuk mengatur jumlah kolom yang diinginkan.
  2. column-width:  untuk mengatur ukuran lebar setiap kolom. Namun ukuran ini dapat berubah otomatis oleh browser sesuai dengan lebar layar.
  3. column-gap: untuk mengatur jarak antar kolom.
  4. column-rule-width: untuk mengatur pembatas antar kolom .
  5. column-rule-style:  seperti halnya border maka bentuk pembatas dapat juga diatur .
  6. column-rule-color: untuk mengatur warna pembatas.
  7. column-span:  jika diperlukan untuk menggabungkan beberapa kolom maka dipergunakan properti ini. Misalkan untuk judul artikel.

Dari penjelasan diatas maka dapat disimpulkan bahwa fasilitas CSS3-Column sudah memberikan fasilitas yang memadai.

Untuk latihan awal hanya diperlukan beberapa baris untuk mengatur tampilan 3 kolom dengan jarak antar kolom 20px;

.cols3 {
column-count: 3;
column-gap: 20px;
}

Contoh berikut ini adalah menambahkan penggunaan properti untuk memberikan batas antar kolom yaitu berupa garis berukuran 1px, berwarna hitam dan bergaya solid.

.cols3 {
column-count: 3;
column-gap: 20px;
column-rule-width: 1px;
column-rule-style: solid;
column-rule-color: #000;
}

Jika dibutuhkan menggabungkan beberapa kolom untuk judul artikel maka digunakan properti column-span. Penggunaan seperti contoh berikut ini.

.cols3 h1{
column-span: all;
}

Demo

Penggunaan CSS3-Column ini sepertinya hal penggunaan CSS yang lainnya yaitu dapat menggunakan tags <div>. Berikut ini tampilan yang dihasilkan oleh CSS-Column, seperti dijelaskan sebelumnya lebar kolom menyesuaikan lebar layar browser.

ScreenShot054Gambar 1. Tampilan CSS3-Column pada layar lebar

ScreenShot055Gambar 2. Tampilan CSS3-Column pada layar lebih sempit.

Berikut ini kode lengkap dari tampilan di atas.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>CSS3 column demo</title>
<style type='text/css'>

.cols3 {
-webkit-column-count: 3;
-webkit-column-gap: 20px;
-webkit-column-rule: 1px solid #000;

-moz-column-count: 3;
-moz-column-gap: 20px;
-moz-column-rule: 1px solid #000;

column-count: 3;
column-gap: 20px;
column-rule: 1px solid #000;
}

.cols3 h1 {
-webkit-column-span:all;
-moz-column-span:all;
column-span:all;
}

</style>
</head>
<body>

<div class='cols3'>

<h1>Cras Sodales Malesuada Neque A Mollis</h1>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vestibulum, purus mattis porta varius, ligula ligula facilisis dolor, eu venenatis arcu est a neque. Aenean lectus libero, tempus quis ultricies non, cursus sed odio. Donec at dui at tellus varius commodo eu eu lorem. In faucibus egestas tristique. Nunc quis turpis ipsum, eget sagittis nunc. Nam ullamcorper venenatis vulputate. Cras dictum fermentum elementum. Aenean turpis augue, mollis vel rutrum vitae, fermentum a ante. Curabitur ornare euismod felis vitae mollis. Cras mauris purus, ultrices nec posuere fermentum, ultrices a diam. Aenean vel metus urna, vel fermentum tellus.</p>

<p>Pellentesque nunc elit, elementum quis dignissim suscipit, faucibus sit amet velit. Etiam rhoncus pretium justo at fringilla. Proin eleifend, odio sit amet vehicula condimentum, massa nisi tincidunt tellus, sed hendrerit enim elit a lacus. Sed nec sollicitudin libero. Ut tristique feugiat rutrum. In at lectus at justo facilisis tincidunt ac ac risus. Curabitur cursus imperdiet nisi et varius. Aliquam condimentum placerat sapien sit amet tempor. Aliquam vitae arcu ligula. Cras sodales malesuada neque a mollis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin arcu ligula, vestibulum ac suscipit ut, consequat eu enim. Integer vitae leo purus, quis ultrices nisi. Duis vel tristique elit.</p>

<p>Proin id mi eros. Vivamus a rhoncus justo. Nam eu euismod metus. Morbi sit amet placerat metus. Nulla porta sodales pulvinar. Ut et nulla lectus, in tempor elit. Donec at augue sed ipsum semper accumsan. Donec ullamcorper placerat magna, eget sodales purus laoreet a. Nunc tincidunt porta libero, non fermentum arcu faucibus ac.</p>

<p>Duis ac lectus ut tortor hendrerit tempor. Nam vel felis hendrerit neque accumsan sodales luctus cursus turpis. Morbi accumsan sagittis auctor. Nullam mi felis, eleifend vel faucibus nec, eleifend ut lectus. Ut vel sapien ante, quis ornare elit. Phasellus elit sapien, faucibus in feugiat sed, gravida eu lacus. Vestibulum euismod lobortis massa, ut tempor odio consequat vel. Cras tortor ligula, tempus a rhoncus sit amet, hendrerit at nisi. Vestibulum scelerisque scelerisque mi, vitae lacinia magna elementum id. Donec fermentum orci at nibh molestie ac varius metus sollicitudin. In hac habitasse platea dictumst. Sed porttitor dictum erat, ac fringilla mi luctus vel. Duis et turpis enim. Nunc feugiat ipsum id arcu fringilla vitae porta turpis semper. Fusce euismod nisi sit amet enim adipiscing dapibus.</p>

</div>
</body>
</html>

Kesimpulan

Penggunaan CSS-Column sangatlah mudah dan tampilan dapat disesuaikan dengan kebutuhan. Tampilan layout mengikuti lebar dari lebar browser jika rubah oleh penggunanya. Dengan kemudahan dan kehandalan dari CSS-Column mungkin bisa jadi pertimbangan untuk menggunakannya pada layout website Anda.

 

Menggunakan CMS atau Membuatnya Sendiri

Saat ini kebutuhan untuk memiliki website sudah menjadi hal penting bagi pelaku bisnis. Penggunaan website bisa digunakan untuk menjual produk perusahaan itu secara langsung atau sekedar menampilkan informasi mengenai jasa yang ditawarkan oleh persuhaan tersebut. Untuk perusahaan yang memiliki tenaga ahli IT di kantornya tentu hal ini bukan hal yang sulit, namun untuk perusahaan yang tidak memilikinya maka yang bisa dilakukan adalah mencari pihak ke-tiga untuk membuat situs tersebut.

Untuk perusahaan yang menampilkan informasi mengenai jasa yang ditawarkan maka website akan cenderung statis kecuali ada jasa baru yang ditawarkan perusahaan tersebut barulah website tersebut diperbaharui isinya. Berbeda dengan perusahaan yang melakukan penjualan produk yang cenderung lebih dinamis dari yang sama menawarkan jasa.

Nah… hal yang akan dibahas disini adalah disisi pembuat website atau biasa disebut website developer. Saat menerima pekerjaan membuat website biasa para developer memiliki 2 pilihan yaitu:  1. Menggunakan CMS yang sudah banyak beredar di internet seperti WordPress, Joomla (bukan Jomblo lho). 2. Membuatnya CMS sendiri sehingga prosesnya lebih sederhana.

Oh iya .. CMS itu kepanjangan Content Management System yang digunakan untuk memperbaharui isi website.

Jika menggunakan CMS yang sudah ada seperti WordPress atau Joomla maka kendala yang dihadapai adalah banyak fasilitas yang bisa membuat bingung penggunanya saat memperbaharui website padahal hanya ingin menambahkan 1 halaman website saja namun icon-icon yang dihadapi begitu banyak. Tapi keuntungannya adalah fasilitas yang tersedia sudah lengkap dan pekerjaan menjadi mudah, cukup mendesain themes sesuai kebutuhan maka pekerjaan pun selesai.

Fasilitas di Joomla

Namun jika membuat CMS sendiri sehingga prosesnya lebih sederhana dan sesuai kebutuhan maka perlu kerja ekstra untuk membuatnya. Keuntungan lainnya bila sudah pernah membuat CMS karya sendiri maka saat orderan website datang lagi bisa menggunakan pekerjaan sebelumnya :D.

Pada intinya semua tergantung kebutuhan dari perusahaan pengguna karena pembeli adalah raja. Jika pengguna menginginkan sesuatu yang simpel gak pake ribet mungkin pilihan CMS karya sendiri lebih baik. Namun bila  pengguna mengkehendaki fitur yang lengkap maka CMS yang beredar di internet dan memiliki fitur lengkap menjadi pilihan.

Men “Dewa” kan Suatu Bahasa Pemrograman

Sering menjumpai blog  baik dalam maupun luar yang menceritakan betapa buruknya suatu bahasa pemrograman dan betapa canggihnya bahasa yang dia gunakan. Bahkan pada bagian akhir tulisannya ada kalimat seperti ini :

I will not be happy until everyone on the planet has gone through Learn Python The Hard Way so go do that.

Mmm…. jadi inget jaman dulu kuliah ada 2 mazhab besar yaitu penggemar VB dan Delphi, waktu itu belum musim pemrograman berbasis web dan saya termasuk penganut mazhab Delphi. Bahasa pemrograman tampak seperti “Agama” saja :D.

Bagi saya pribadi bahasa pemrograman  apapun yang digunakan untuk membuat sebuah software sejauh dapat bekerja dengan baik  dan tidak bermasalah dengan infrastruktur yang ada maka sah-sah saja digunakan.

Jadi sudah puas dengan bahasa pemrograman yang anda kuasai? 😀

Sekilas Penggunaan Operator di C

Hasil kuis kemarin menunjukkan kurang kepahaman mahasiswa mengenai operator yang ada di bahasa C. Pada tulisan ini dibahas sedikit mengenai penggunaan operator tersebut.

Perbedaan ++a dan a++

Bila tandanya berada di depan ++a itu artinya akan menambahkan nilai a dan mengembalikan nilai a setelah ditambah.

a=7;
printf("a1=%d",++a);
printf("a2=%d",a);

maka hasilnya a1=8 dan a2=8

Bila tandanya berada di belakang a++ itu artinya  akan menambahkan nilai a  tetapi mengembalikan nilai  a sebelum bertambah.

a=7;
printf("a1=%d",a++);
printf("a2=%d",a);

maka hasilnya a1=7 dan a2=8

Begitu juga untuk –a dan a– memiliki sifat yang sama dengan ++a dan a++ hanya prosesnya adalah pengurangan.

Pengunaan a+=n dan a-=n

a+=n itu artinya a=a+n. Jadi a+=5 –> a= a +5.

a-=n itu artinya a=a-n. Jadi a-=5–> a=a-5.

a=7;
a+=3;
printf("a1=%d",a);
a-=8;
printf("a2=%d",a);

maka hasilnya a1=10 dan a2=2.

Membuat RESTful Web Services dengan Jersey

Jersey merupakan product open source yang dibuat untuk implementasi RESTful  Web Service, untuk lebih lanjut tentang Jersey silahkan kunjungi ini. Tutorial ini berasumsi di komputer telah tersedia Eclipse dan Tomcat.

Langkah yang akan kita lakukan saat ini adalah membuat service kemudian bagaimana memanggil service tersebut.

    1. Buatlah sebuah project dengan eclipse

      Create Dinamic Web Project
    2. Ekstrak dan copikan seluruh *.jar yang ada pada file ini ke dalam direktori lib dibawah WEB-INF.
    3. Kemudian buatlah sebuah class dengan nama CalculatorService.java. Pada file memiliki 3 fungsi, 2 fungsi memakai method @GET dan 1 fungsi memakai method @POST. Fungsi yang menggunakan method @GET menggunakan @QueryParam untuk penentuan nama parameter sedangkan method @POST menggunakan @FormParam.
      package com.jersey.service;
      
      import javax.ws.rs.POST;
      import javax.ws.rs.GET;
      import javax.ws.rs.Path;
      import javax.ws.rs.*;
      
      @Path("calculatorservice")
      public class CalculatorService {
      	  @GET
      	  @Path("addNumbers")
      	  public String add(@QueryParam("number1") int number1, @QueryParam("number2") int number2) {
      	    return String.valueOf(number1 + number2);
      	  }
      
      	  @GET
      	  @Path("subtractNumbers")
      	  public String subtract(@QueryParam("number1") int number1, @QueryParam("number2") int number2) {
      	    return String.valueOf(number1 - number2);
      	  }
      
      	  @POST
      	  @Consumes("application/x-www-form-urlencoded")
      	  @Produces("text/plain")
      	  @Path("multiplyNumbers")
      	  public String multiply(@FormParam("number1") int number1, @FormParam("number2") int number2) {
      		    return String.valueOf(number1 * number2);
      	  }
      }
      
    4. Update web.xml yang berada didalam direktori WEB-INF seperti ini :
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
        <display-name>ServiceCalculator</display-name>
        <welcome-file-list>
          <welcome-file>index.html</welcome-file>
          <welcome-file>index.htm</welcome-file>
          <welcome-file>index.jsp</welcome-file>
          <welcome-file>default.html</welcome-file>
          <welcome-file>default.htm</welcome-file>
          <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
        <servlet>
          <servlet-name>Jersey REST Service</servlet-name>
          <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
          <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.jersey.service</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
          <servlet-name>Jersey REST Service</servlet-name>
          <url-pattern>/rest/*</url-pattern>
        </servlet-mapping>
      </web-app>
      
    5. Kemudian buatlah sebuah class dengan nama CalculatorClient.java, perhatikan perbedaan cara memanggil method @GET dan @POST.
      package com.jersey.client;
      
      import com.sun.jersey.core.util.*;
      import com.sun.jersey.api.client.Client;
      import com.sun.jersey.api.client.ClientResponse;
      import com.sun.jersey.api.client.WebResource;
      
      public class CalculatorClient {
      public static void main(String[] args)
      throws Exception{
      
      Client client = Client.create();
      String _url="";
      String _param1 = "16";
      String _param2 = "5";
      
      WebResource webResource;
      
      MultivaluedMapImpl  params = new MultivaluedMapImpl();
      params.add("number1", _param1);
      params.add("number2", _param2);
      
      _url = "http://localhost:8080/de.vogella.jersey.first/rest/calculatorservice/addNumbers";
      webResource = client.resource(_url);
      String s = webResource.queryParams(params).get(String.class);
      System.out.println(s);
      
      _url = "http://localhost:8080/de.vogella.jersey.first/rest/calculatorservice/subtractNumbers";
      webResource = client.resource(_url);
      s = webResource.queryParams(params).get(String.class);
      System.out.println(s);
      
      _url = "http://localhost:8080/de.vogella.jersey.first/rest/calculatorservice/multiplyNumbers";
      webResource = client.resource(_url);
      ClientResponse response = webResource.type("application/x-www-form-urlencoded").post(ClientResponse.class, params);
      String textEntity = response.getEntity(String.class);
      System.out.println(textEntity);
      }
      }
      
    6. Jalankan Tomcat kemudian jalannya CalculatorClient run as Java Application, maka akan ada tampilan seperti ini:
    7. Bila dipanggil dengan browser http://localhost:8080/calculatorservice/rest/calculatorservice/addNumbers?number1=10&number2=2
      Maka akan menghasilkan 12.

Demikian cara sederhana membuat dan memanggil service.

Referensi :

  1. REST with Java (JAX-RS) using Jersey – Tutorial
  2. An Introduction to Creating RESTful Web Services Using Jersey and Java

Add-Ons di Firefox

Saat melihat tampilan speed-dials pada browser Firefox seorang teman bertanya itu apa? Dari situ tergelitik untuk sedikit mengulas add-ons yang ter-install pada browser Firefox.

Apa itu Add-on atau Pengaya?
Sebuah perangkat lunak tambahan yang digunakan untuk menambah fungsi dari perangkat lunak utama dan biasanya tidak bisa berdiri sendiri.

Kalo Bahasa Inggris-nya begini :
a piece of software which enhances another software application and usually cannot be run independently

Beberapa add-ons Firefox yang saya gunakan

  1. Speed Dial
  2. Add-on ini berguna untuk menyimpan bookmark atau situs-situs yang biasa dikunjungi. Kelebihan dari add-on spreed dial ini adalah fungsi pembagian kategori setiap bookmark yang dipunyai. Misalkan kategori Kantor, maka isinya adalah web atau situs yang berhubungan dengan pekerjaan di kantor, Social Network maka isinya adalah web atau situs tentang social network.

  3. Video DownloadHelper
  4. Add-on Video DownloadHelper berguna untuk membantu mendonwload video yang sedang dilihat pada browser. Penggunaannya sangat mudah tinggal tekan tombol kemudian pilih video mana yang akan didonwload

  5. Firebug
  6. Firebug berguna untuk melakukan debug terhadap koding web yang ada.

  7. Awesome Screenshot
  8. Awesome Screenshot berguna untuk men-capture 1 buah page secara keseluruhan, memberikan beberapa keterangan dan bisa langsung upload file gambar tersebut.

Ini Add-ons Firefox yang lainnya.

Membuat Footer Selalu Pada Posisi Bawah Halaman

Bila isi dari web terlalu sedikit maka footer akan naik ke atas setelah bagian isi selesai ditampilkan. Tentu saja tampilan web akan kurang menarik apalagi pada monitor yang besar. Teknologi CSS saat ini memungkinkan untuk memaksa footer selalu berada pada bagian bawah halaman.

Berikut ini langkahnya

  1. Buatlah bagan <html>  seperti ini :
  2. <div id="container">
       <div id="header"></div>
       <div id="body"></div>
       <div id="footer"></div>
    </div>
    
  3. Kemudian ini CSS-nya
  4. html,
    body {
       margin:0;
       padding:0;
       height:100%;
    }
    #container {
       min-height:100%;
       position:relative;
    }
    #header {
       background:#ff0;
       padding:10px;
    }
    #body {
       padding:10px;
       padding-bottom:60px;   /* sesuaikan dengan tinggi footer */
    }
    #footer {
       position:absolute;
       bottom:0;
       width:100%;
       height:60px;   /* tinggi dari footer */
       background:#6cf;
    }
    

Sip footer akan selalu berada diposisi bawah. Kode lengkap donwload disini

Up ↑