<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Kenapa OpenOffice.org</title>
<!-- OOoLayout:nonav -->
    <link rel="stylesheet" href="../suppress.css" type="text/css" />
    <link rel="stylesheet" href="../why.css" type="text/css" />

    <script type="text/javascript">
var myPrefix='box_';
function swapper(item)
{
  for( i=1; i<7; i++)
  {
    document.getElementById( myPrefix + i ).style.display = 'none';
  }
  var state = document.getElementById( item ).style.display;
  if ( state == 'block' )
  {
    document.getElementById( item ).style.display = 'none';
  }
  else
  {
    document.getElementById( item ).style.display = 'block';
  }
}
    </script>

    <style type="text/css">
    .boxes {
      display: none;
     }
    </style>    
    
    <script type="text/javascript" src="../ie6.js"></script>
</head>

<body>




<!-- Master Container: Centered and 700px wide -->
<div id="container">

    <!-- The topmost bar -->
    <div id="topbar">
        <a href="http://www.openoffice.org">OpenOffice.org</a> - 
        rumah dari aplikasi perkantoran open-source berskala dunia
    </div>
    <!-- End of top bar -->

    <!-- This holds the main header -->
    <div id="headerwrapper">

        <!-- This is the site title -->
        <h1>Kenapa OpenOffice.org</h1>
  </div>
  <!-- End of headerwrapper -->

    <!-- This hold the navigation tabs -->
    <div id="tabholder">
        <div id="tabs8">
            <ul>
                <!-- CSS Tabs -->
                <li><a href="index.html"><span>Kenapa</span></a></li>
                <li id="current"><a href="#" onmouseover="swapper('box_1');">
                  <span>Perangkat Lunak Hebat</span></a>
                 </li>
                <li><a href="kenapa_mudah.html"><span>Mudah Digunakan</span></a></li>
                <li><a href="kenapa_gratis.html"><span>dan gratis</span></a></li>
            </ul>
        </div>
    </div>
    <!-- End of the tabs holder -->

    <!-- Here's the box for the main article -->
    <div class="articleboxouter">

        <!-- Here's where you can place ur content -->
        <div class="articleboxinner">

        <div id="box_1">
            <!-- The main image. 300px by 210px -->
            <img src="../images/why_great.png" width="300" height="210"
            alt="Perangkat lunak OpenOffice.org 3" title="Perangkat lunak OpenOffice.org 3"
            class="mainpiccontrol" />
            <div class="mytext">
            <!-- The title for this article -->
            <span class="articleheader" >Perangkat Lunak Hebat</span>

            <!-- The preview content -->
            Membutuhkan orang orang hebat.
            OpenOffice.org 3 adalah hasil dari pengembangan perangkat lunak selama lebih dari dua puluh tahun yang berkelanjutan. Didesain dari awal sebagai sebuah kesatuan perangkat lunak, aplikasi ini memiliki konsistensi yang tidak dapat ditandingi oleh produk lain. Model pengembangan <b>open-source</b>nya berarti tidak ada kerahasiaan.
            <br />
            Mainkan mouse Anda pada gambar-gambar screenshot untuk detail dari setiap komponen utama <i>(membutuhkan javascript)</i>.<br/>
            </div>
            <!-- Link to the full article, an arrow and a text link -->
            <span class="readmore">
                <a href="#">
                 <img src="../images/arrow.png" alt="baca lebih lanjut" class="noborder" />
                </a>
                 <a href="http://download.openoffice.org/">
                  Dapatkan OpenOffice.org 3 sekarang
                </a>
                <br />&nbsp;
            </span>
        </div>    

        <div class="boxes" id="box_2">    
            <!-- The main image. 300px by 210px -->
            <a href="../images/writer-big.png">
            <img src="../images/writer-crop.png" 
            width="300" height="210"
            alt="Writer" title="Klik untuk screenshot ukuran penuh dari Writer"
            class="mainpiccontrol" /></a>
            <div class="mytext">
            <!-- The title for this article -->
            <span class="articleheader" >Writer</span>

            <!-- The preview content -->
memiliki apa yang Anda inginkan dari sebuah pengolah kata atau publikasi desktop yang modern dan penuh dengan fitur: fitur-fitur berguna seperti AutoCorrect, AutoComplete, AutoFormat, Styles dan Pemformatan, Text Frames dan Link, Daftar Isi, Pengindeksan, Referensi Bibliografi, Ilustrasi, Tabel, dan obyek-obyek lainnya.<br />
<b>Writer</b> cukup sederhana untuk sebuah memo yang singkat, handal dan stabil untuk membuat buku dengan banyak grafis, heading, dan sebagainya.
            <br /><br/>
            </div>
            <!-- Link to the full article, an arrow and a text link -->
            <span class="readmore">
                <a href="#">
                 <img src="../images/arrow.png" alt="lebih banyak" class="noborder" />
                </a>
                <a href="http://download.openoffice.org/">
                   Dapatkan OpenOffice.org 3 sekarang
                </a>
                <br />&nbsp;
            </span>
        </div>    
                        
        <div class="boxes" id="box_3">    
            <!-- The main image. 300px by 210px -->
            <a href="../images/calc-big.png">
            <img src="../images/calc-crop.png" 
            width="300" height="210"
            alt="Calc" title="Klik untuk screenshot ukuran penuh dari Calc"
            class="mainpiccontrol" /></a>
            <div class="mytext">
            <!-- The title for this article -->
            <span class="articleheader" >Calc</span>

            <!-- The preview content -->
adalah spreadsheet yang Anda impikan. Pendatang baru mendapatinya sangat intuitif dan mudah untuk dipelajari; Penambang data professional dan pengolah angka akan menghargai jangkauan komprehensif dari fitur-fitur yang berguna termasuk teknologi Advanced DataPilot, formula dengan bahasa natural, Tombol Sum yang cerdas, sekumpulan fungsi spreadsheet tingkat tinggi yang komprehensif, Styles dan Pemformatan, dan sebuah Manajer Skenario untuk "what ifs".
            <br /><br/>
            </div>
            <!-- Link to the full article, an arrow and a text link -->
            <span class="readmore">
                <a href="#">
                 <img src="../images/arrow.png" alt="baca lebih lanjut" class="noborder" />
                </a>
                <a href="http://download.openoffice.org/">
                   Dapatkan OpenOffice.org 3 sekarang
                </a>
                <br />&nbsp;
            </span>
        </div>    

        <div class="boxes" id="box_4">    
            <!-- The main image. 300px by 210px -->
            <a href="../images/impress-big.png">
            <img src="../images/impress-crop.png" 
            width="300" height="210"
            alt="Impress" title="Klik untuk screenshot ukuran penuh dari Impress"
            class="mainpiccontrol" /></a>
            <div class="mytext">
            <!-- The title for this article -->
            <span class="articleheader" >Impress</span>

            <!-- The preview content -->
adalah perangkat pembuatan presentasi multimedia yang efektif. Presentasi Anda akan terdiri dari clip art 2D dan 3D, fontwork, efek khusus, animasi, dan perangkat penggambar yang handal. Sebuah multi-pane view meletakkan semua perangkat pada jari Anda dan Anda bisa 'memparkirkan' perangkat gambar yang paling sering Anda gunakan disekeliling layar dan siap untuk diakses dengan satu klik. Berbagi pekerjaan Anda dengan banyak cara: tidak hanya pdf, tetapi juga html dan Flash.<br />Sebarkan pesan Anda dengan <b>Impress</b>.
            <br />
            </div>
            <!-- Link to the full article, an arrow and a text link -->
            <span class="readmore">
                <a href="#">
                 <img src="../images/arrow.png" alt="baca lebih lanjut" class="noborder" />
                </a>
                <a href="http://download.openoffice.org/">
                   Dapatkan OpenOffice.org 3 sekarang
                </a>
                <br />&nbsp;
            </span>
        </div>    

        <div class="boxes" id="box_5">    
            <!-- The main image. 300px by 210px -->
            <a href="../images/draw-big.png">
            <img src="../images/draw-crop.png" 
            width="300" height="210"
            alt="Draw" title="Klik untuk screenshot ukuran penuh dari Draw"
            class="mainpiccontrol" /></a>
            <div class="mytext">
            <!-- The title for this article -->
            <span class="articleheader" >Draw</span>

            <!-- The preview content -->
Segalanya dari sketsa singkat hingga rencana yang kompleks. <b>Draw</b> menyediakan perangkat untuk berkomunikasi dengan grafis dan diagram. Memanipulasi obyek, merotasi dalam dua atau tiga dimensi; menggunakan metode rendering yang terkini untuk membuat citra yang realistis.  Smart connectors mempersingkat pembuatan flowchart, bagan organisasi, diagram jaringan, dll. Styles - fitur umum OpenOffice.org - membantu Anda mengontrol pekerjaan Anda agar menjadi lebih mudah dan jelas pada Draw.<br />
Sebuah gambar <b>Draw</b> bernilai ribuan kata!
            <br />
            </div>
            <!-- Link to the full article, an arrow and a text link -->
            <span class="readmore">
                <a href="#">
                 <img src="../images/arrow.png" alt="baca lebih lanjut" class="noborder" />
                </a>
                <a href="http://download.openoffice.org/">
                   Dapatkan OpenOffice.org 3 sekarang
                </a>
                <br />&nbsp;
            </span>
        </div>    

        <div class="boxes" id="box_6">    
            <!-- The main image. 300px by 210px -->
            <a href="../images/base-big.png">
            <img src="../images/base-crop.png" 
            width="300" height="210"
            alt="Base" title="Klik untuk screenshot ukuran penuh dari Base"
            class="mainpiccontrol" /></a>
            <div class="mytext">
            <!-- The title for this article -->
            <span class="articleheader" >Base</span>

            <!-- The preview content -->
mengijinkan Anda memanipulasi basis data didalam OpenOffice.org 3. Membuat dan memodifikasi tabel, form, query, dan laporan (report), entah menggunakan basis data Anda sendiri atau mesin basis data built-in <b>Base</b>. <b>Base</b> menawarkan sebuah pilihan menggunakan Wizards, Design Views, atau SQL Views untuk pengguna pemula, menengah, dan mahir.<br />
Akses basis data Anda secara mudah dengan <b>Base</b>.
            <br /><br /><br /><br />
            </div>
            <!-- Link to the full article, an arrow and a text link -->
            <span class="readmore">
                <a href="#">
                 <img src="../images/arrow.png" alt="baca lebih lanjut" class="noborder" />
                </a>
                <a href="http://download.openoffice.org/">
                   Dapatkan OpenOffice.org 3 sekarang
                </a>
                <br />&nbsp;
            </span>
        </div>    


        </div>
        <!-- End of content holder -->
    </div>
    <!-- End of main article -->

    <!-- Here's the box for some pics -->
    <div class="picboxouter">

        <!-- Here's where you can place ur thumbnails -->
        <!-- All should be uniformly sized ;-) -->

        <div class="screenbox">
            <a href="../images/writer-big.png" onmouseover="swapper('box_2');">
               <img src="../images/writer-icon.png"
               class="screenboxcontrol"
               alt="Screenshot pengolah kata Writer"  
               title="Klik untuk screenshot pengolah kata Writer" /><br />
               <span>Writer</span>
            </a>
        </div>
        <div class="screenbox">
            <a href="../images/calc-big.png" onmouseover="swapper('box_3');">
               <img src="../images/calc-icon.png" 
               class="screenboxcontrol"
               alt="Screenshot spreadsheet Calc" 
               title="Klik untuk screenshot spreadsheet Calc" /><br />
               <span>Calc</span>
            </a>
        </div>
        <div class="screenbox">
            <a href="../images/impress-big.png" onmouseover="swapper('box_4');">
               <img src="../images/impress-icon.png"
               class="screenboxcontrol"
               alt="Screenshot presentasi Impress"  
               title="Klik untuk presentasi Impress" /><br />
               <span>Impress</span>
            </a>
        </div>
        <div class="screenbox">
            <a href="../images/draw-big.png" onmouseover="swapper('box_5');">
               <img src="../images/draw-icon.png"
               class="screenboxcontrol"
               alt="Screenshot grafis Draw"  
               title="Klik untuk screenshot grafis Draw" /><br />
               <span>Draw</span>
            </a>
        </div>
        <div class="screenbox">
            <a href="../images/base-big.png" onmouseover="swapper('box_6');">
               <img src="../images/base-icon.png" 
               class="screenboxcontrol"
               alt="Screenshot basis data Base"  
               title="Klik untuk screenshot basis data Base" /><br />
               <span>Base</span>
            </a>
        </div>
    </div>
    <!-- End of photogallery -->

    <!-- We love three columns, don't we? -->
    <!-- Holder for three columns -->
    <div class="articleboxouter">
      <div id="newsContainer2">

        <!-- Column 1 -->
        <div class="c1">
          <div class="noteheader">
            &nbsp;Lebih Baik Dari Sisi Desain
          </div>
          <div class="spacy">
Dikembangan selama lebih dari dua puluh tahun, OpenOffice.org adalah produk yang matang dan dapat dipercaya. OpenOffice.org didesain dari awal sebagai sebuah kesatuan perangkat lunak - bukan berasal dari gabungan beberapa paket perangkat lunak. Hal ini membuatnya sangat konsisten dan mudah untuk digunakan - yang Anda pelajari pada satu aplikasi dapat digunakan pada aplikasi lain. Bantuan yang sensitif terhadap konteks bekerja pada seluruh aplikasi, menyediakan bantuan yang tepat yang Anda perlukan. Anda bahkan bisa membuka sembarang dokumen dari sembarang aplikasi - OpenOffice.org 3 adalah satu perangkat lunak. OpenOffice.org 3 juga berjalan pada semua platform komputasi utama - Microsoft Windows, GNU/Linux, Sun Solaris, Apple Mac - tidakkah itu hebat!
          </div>
        </div>

        <!-- Column 2 -->
        <div class="c2">
          <div class="noteheader">
              &nbsp;Lebih Baik Untuk Anda
          </div>
          <div class="spacy">
OpenOffice.org 3 berisi semua perangkat lunak perkantoran yang Anda perlukan, dalam sebuah paket tunggal. Anda tidak perlu khawatir versi apa yang harus diinstal: satu program installasi akan menyediakan semuanya. Instalasi juga menyertakan fitur-fitur yang tidak dimiliki oleh rival-rival lain yang mahal - sebagai contoh, kemampuan untuk membuat berkas .pdf ketika Anda ingin menjamin bahwa penerima melihat apa yang tampak pada komputernya. Juga terdapat beberapa ekstensi yang terus berkembang: fitur tambahan yang dapat disediakan oleh sembarang pengembang. OpenOffice.org merilis rilis perangkat lunak beberapa kali dalam setahun sehingga Anda bisa mengambil keuntungan dari fitur-fitur baru secepatnya.
          </div>
        </div>

        <!-- Column 3 -->
        <div class="c3">
           <div class="noteheader">
              &nbsp;Perangkat Lunak yang Jujur
           </div>
           <div class="spacy">
           <!-- The content for this attention grabbing block -->
OpenOffice.org 3 dikembangkan menggunakan perangkat lunak-terbuka, menggunakan pendekatan "tanpa rahasia". Setiap orang dapat melihat isi dari program dan menyarankan pengembangan atau memperbaiki kesalahan. Setiap orang dapat melaporkan masalah atau meminta penambahan fitur, dan seseorang dapat melihat respon dari pengguna lain atau pengembang. Status dari rilis aktual dan yang akan datang juga ditampilkan dalam wiki yang bersifat publik, sehingga Anda dapat memutuskan kapan Anda hendak melakukan upgrade untuk mendapatkan keuntungan dari fitur baru. Setiap orang yang menggunakan perangkat lunak komersial dan yang setara akan mendapati OpenOffice.org 3 berbeda. Nikmati dari keunggulan open-source!
           </div>
         </div>
      </div>
    </div>
    <!-- End of the three columns holder -->

    <!-- This little whitespace will separate the page from the footer -->
    &nbsp;

    <!-- Finally, here's the humble footer, holding your copyright -->
    <div id="myfooter">
  
      <a href="http://www.sun.com/software/star/openoffice/index.html">
        <img 
         style="float:left; display:inline;  width:150px; height:50px;" 
         title="Disponsori oleh Oracle" 
         alt="Logo Oracle" src="http://why.openoffice.org/branding/images/oracle-logo.gif" />
      </a>      
<!--  <a title="Give feedback, or ask for assistance" 
        href="http://www.openoffice.org/contact.html">Contact Us</a>
      <a title="Sitemap" href="/project/www/sitemap.html">Sitemap</a>
      <a title="What should happen on the matter listed on this page..."
        href="http://development.openoffice.org/todo.html">To-Dos</a>
      <a href="http://www.openoffice.org/nonav/servlets/HelpTOC">Site Help</a>
      <a href="http://marketing.openoffice.org/press_kit.html">Press Room</a>
      <br /> -->
    Dengan segala penggunaan Website ini, Anda setuju untuk terikat dengan <a href="http://www.sunsource.net/TUPPCP.html">Aturan dan Perjanjian Penggunaan </a><br />
    Oracle dan Java adalah merek dagang dari Oracle dan/atau affiliasinya. Nama lainnya mungkin merek dagang dari pemilik masing-masing.
    </div>
    <!-- End of footer -->

</div>
<!-- End of master container -->


</body>
</html>
