iklan

close

Kamis, 26 Juni 2014

Project Structure Android



Project Android dibangun berdasarkan direktori yang spesifik seperti saat kita membuat project Java.
Untuk membantu memahaminya, kita mulai dengan penjelasan di bawah.

Root Content
Ketika kita membuat sebuah project Android, kita akan memiliki 6 item utama dalam direktori root project kita.

  • AndoidManifest.xml, adalah file XML yang mendeskripsikan aplikasi yang dibangun dan komponen (activities, services, etc) apa saja yang disediakan oleh aplikasi.
  • build.xml, adalah script Ant untuk meng-compile aplikasi dan meng-installnya dalam device.
  • bin/, yang memuat aplikasi setelah di-compile.
  • src/, yang memuat file-file source code java untuk pembuatan aplikasi
  • res/, yang memuat “seluruh sumber”, seperti icon, GUI Layout, dan sejenisnya.
  • assets/, yang memuat file-file static lainnya yang ingin dikemas bersama aplikasi untuk dideploy ke dalam device.


Activity
Ketika kita membuat sebuah project, kita akan disediakan sebuah class dari activity utama untuk aplikasi android yang dibuat yang nantinya disimpan di dalam direktori src/. Kita bisa memodifikasi file ini dan menambahkan file lainnya ke dalam src/ sesusai kebutuhan untuk implementasi aplikasi. Pertama kali project di-compile, di luar direktori activity "utama", Android akan membuat file R.java. File ini berisi beberapa konstanta dari seluruh "sumber" yang dibuat dan disimpan dalam direktori res/. Kita tidak harus memodifikasi file R.java, karena Android tools yang akan menanganinya.

Resources Directory
Dalam project Android, kita juga akan menjumpai direktori res/ yang memuat "sumber-sumber" (file tetap seperti gambar yang dikemas bersama dengan aplikasi). Beberapa sub direktori yang akan dijumpai atau dibuat di bawah direktori res/ terdiri dari:

  • res/drawable/ untuk gambar (PNG, JPEG, etc)
  • res/layout/ untuk spesifikasi UI layout yang dibuat dengan XML
  • res/raw/ for general-purpose files (misalnya CSV File of Account Information)
  • res/values/ untuk menyimpan nilai strings, dimensions dan sejenisnya
  • res/xml/ for other general purpose XML Files you wish to ship

The Result
Ketika project di-compile, hasil compiling akan masuk ke directori bin/ di bawah direktori root project.
Lebih jelasnya:

  • bin/classes/ memuat class java hasil compiling
  • bin/classes.dex memuat the executable created from those compiled Java classes
  • bin/yourapp.apk adalah file aplikasi Android yang sebenarnya (dimana yourapp adalah nama dari aplikasi yang dibuat)

file .apk adalah ZIP archive yang berisi file .dex, hasil compiling file sumber (resources.arsc), beberapa file sumber yang tidak ter-compile (seperti yang disimpan di dalam res/raw/) dan file AndroidManifest.xml.

Kamis, 15 Mei 2014

Populer Java IDE

IDE adalah kepanjangan dari Integrated Development Environment, atau Lingkungan Pengembangan yang Terintegrasi. Pengembangan apa? Pengembangan perangkat lunak(software) tentunya, dimana jika Anda mempunyai sebuah proyek software yang terdiri dari berbagai macam source code, IDE lah yang akan membantu Anda memanajemen sekaligus mengerjakan proyek tersebut.
Di sistem Linux, banyak sekali IDE yang tersedia untuk berbagai macam bahasa pemrograman. Yang saya bahas di sini adalah IDE yang populer untuk membuat proyek berbasis bahasa Java. Saya urutkan dari yang paling standar, hingga paling baik.
Oke, yang pertama adalah
  1. Geany

  2. Geany adalah IDE yang sangat ringan dan simpel. Bisa digunakan untuk mengcompile source code dari bahasa Java, C, C++, Pascal dan lain lain. Jika Anda hanya membutuhkan IDE ringan untuk mengkompile source code Java. IDE ini patut untuk dipilih, keunggulannya adalah auto-completion, mendukung multiple dokumen, mendukung sistem project, syntax highlighting, dan emulator terminal. IDE ini bersifat cross-platform, sehingga bisa dijalankan di sistem Windows juga. Dibuat menggunakan bahasa C.
  3. Netbeans IDE

  4. IDE yang satu ini sudah akrab di telinga para pendevelop Java, karena memang Netbeans adalah IDE yang bisa dikatakan resmi diciptakan oleh pengembang Java, yaitu Sun Microsystems. Dibuat menggunakan bahasa pemrograman Java juga, sehingga Netbeans bersifat cross-platform. IDE ini sangat bagus, mempunyai GUI Builder built-in dan banyak digunakan secara komersial. Untuk yang serius dengan Java, IDE ini bisa menjadi pilihan.
  5. Eclipse IDE

  6. Ini adalah IDE yang sangat bagus dan juga Open Source. Banyak digunakan secara komersial maupun personal. Eclipse juga dibuat menggunakan bahasa Java sehingga bersifat cross-platform. Eclipse mendukung banyak plugin tambahan yang berguna untuk mengembangkan ranah kebutuhan software development Anda. Salah satu perusahaan besar yang memanfaatkan Eclipse adalah Research in Motion yang menyediakan plugin untuk mengembangkan perangkat lunak pada Blackberry. Sayangnya hanya Eclipse untuk sistem Windows dan OS/X yang mendukung fitur ini. :(
    Yang paling saya suka, Eclipse mengcompile code tepat saat Anda mengetik kode tersebut, sama seperti yang MS Word lakukan untuk ejaan kata yang salah. Error handling-nya pun boleh dikatakan sempurna, Eclipse tidak hanya memberi tahu kita bahwa ada error tetapi juga langsung menampilkan berbagai macam solusi untuk mengatasi problem tersebut.
  7. GEdit, Emacs, atau Vi

  8. Bagi Anda yang baru belajar Java, gunakan plain text editor seperti di atas. Hal ini akan membantu Anda mengetahui seluruh proses compile Java, sekaligus sebagai sarana berlatih, dimana kesalahan ataupun code completion tidak ditampilkan secara otomatis. Intinya sebagai alat berlatih Java yang bagus,

Kamis, 08 Mei 2014

Memulai Pengembangan Aplikasi Android


Dalam memulai membuat aplikasi Android, ada tiga hal yang penting yaitu bahasa pemrograman yang digunakan dalam membuat aplikasi Android, tools yang akan dipakai, dan yang terakhir adalah karakteristik dalam pemrograman Android itu sendiri. 

Bahasa Pemrograman
Bahasa Pemrograman yang akan kita pakai untuk membuat aplikasi Android. Banyak bahasa yang bisa digunakan untuk menulis aplikasi Android, namun aplikasi Android sebagian besar ditulis dalam bahasa Java, terutama untuk kode programnya. Java yang digunakan dalam Android hampir mirip dengan Java yang kita gunakan untuk pemrograman aplikasi desktop. Namun dengan ditambah package-package khusus yang dibutuhkan oleh Android, dan dengan menghilangkan pula package-package pada Java asli yang sekiranya tidak dibutuhkan untuk Android. Android juga menggunakan bahasa XML untuk mengatur tampilan aplikasi, seperti mengatur letak posisi tombol, gambar background, posisi text dan hampir semua yang berhubungan dengan layout. XML juga digunakan untuk manajemen resource, membuat animasi, dan banyak lainnya. Walau begitu tampilan aplikasi Android bisa juga ditulis menggunakan Java, hanya saja kurang praktis.Itulah dua bahasa utama yang digunakan dalam pemrograman Android, yaitu Java dan XML. Kalau kita sudah terbiasa membuat aplikasi dengan Java, hal itu akan menjadi keuntungan tersendiri. Sedangkan XML sedikit banyak mirip dengan HTML, berupa tag-tag dengan properti di dalamnya. Jika kita memutuskan untuk menggunakan Java sebagai bahasa pemrograman Android kita, maka kita nantinya akan membutuhkan Android SDK (Standard Development Kit) sebagai tools dalam pengembangan. Namun jika kita ingin menulis aplikasi Android menggunakan bahasa lain, misalnya C atau C++, kita harus membutuhkan Android NDK (Native Development Kit) sebagai tools. Walau begitu, menulis program dengan menggunakan Android NDK tidaklah disarankan, karena justru akan membuat pengembangan aplikasi semakin rumit. Ditambah lagi, menggunakan C/C++ tidak lantas meningkatkan performa aplikasi. Karena itu gunakanlah NDK hanya karena aplikasi kita memang membutuhkan libraries yang hanya ada di NDK, bukan karena kita biasa coding menggunakan C/C++. Contohnya penggunaan NDK adalah pada aplikasi yang melibatkan signal processing, physics simulation, atau yang tidak mengalokasikan banyak memori. Sedangkan bahasa lainnya yang biasa digunakan untuk membuat aplikasi Android antara lain adalah HTML5, kita juga bisa mendapatkan bermacam-macam framework untuk membuat aplikasi Android, slaah satunya adalah Adobe PhoneGap.

Paradigma Pemrograman
Paradigma pemrograman pada aplikasi Android adalah object oriented, seperti halnya bahasa yang digunakannya Java. Ditambah lagi, komponen-komponen pada Android hampir semuanya adalah classes dan objects yang dapat kita gunakan lagi (reusable). 

Tools Android
Pada dasarnya semua Integrated Development Kit (IDE) yang biasa digunakan dalam membuat aplikasi Java, mempunyai tools/plugin yang bisa digunakan untuk membuat aplikasi Android. Namun yang paling mudah adalah menggunakan Eclipse IDE.
  1. Karena menggunakan bahasa Java, maka kita harus mempunyai JDK (Java Development. Kit) dan juga Eclipse. 
  2. Setelah itu, download Android SDK. Digunakan sebagai tools dasar untuk mengembangkan aplikasi Android. 
  3. Install ADT Plugin untuk Eclipse. ADT Plugin digunakan untuk memudahkan pengembangan aplikasi Android menggunakan Eclipse.
Itulah semua tools yang kita perlukan! Install dari yang pertama ya.

Karakteristik Android
Sebelum mulai membuat program pertama kita, ada baiknya kita mengenal karakteristik dalam aplikasi Android. Seperti contohnya file-file yang digunakan. Ada banyak, namun sebenarnya hanya ada tiga jenis file yang penting, yaitu :
  1. File-file berakhiran .java, pada file berakhiran inilah biasanya kode atau logika utama program dituliskan dalam bahasa Java.
  2. File-file berakhiran .xml, file .xml sebenarnya mempunyai banyak arti. Namun biasanya hal itu berkaitan dengan tampilan/layout program. Tapi file .xml juga digunakan untuk menyimpan values, contohnya strings yang dipakai di layout, dan juga properti lain, seperti mengatur animasi, membuat list, membuat efek gradien/gradasi dan lain-lain.
  3. Yang terakhir adalah file Android Manifest, file ini juga berakhiran .xml namun menyimpan data-data yang sangat penting untuk menjalankan aplikasi Android. Seperti berapa versi minimal Android yang bisa menjalan aplikasi ini, Android versi berapa yang menjadi target aplikasi, deklarasi aktivitas-aktivitas, deklarasi nama aplikasi, deklarasi ikon aplikasi dan lain sebagainya.

Kamis, 01 Mei 2014

Mengenal Arsitektur Sistem Operasi Android


Android dibangun dengan menggunakan asas object oriented, dimana elemen-elemen penyusun sistem operasinya berupa objek yang dapat kita gunakan kembali/reusable. Agar bisa membuat aplikasi dengan baik, tentunya kita harus mengetahui arsitektur OS Android beserta elemen elemennya. Google sebagai pencipta Android yang kemudian diasuh oleh Open Handset Alliance mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. . Secara garis besar arsitektur android terdiri dari beberapa layer komponen, yaitu:
  1. Linux Kernel. Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan. 
  2. Libraries. Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya : Media Library untuk memutar dan merekam berbagai macam format audio dan video, Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi, Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D, SQLite untuk mengatur relasi database yang digunakan pada aplikasi, SSl dan WebKit untuk browser dan keamanan internet.
  3. Android Runtime. Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya : Application Framework. Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut [Hello Android 2nd Edition] Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan, Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama. Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout. Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar. 
  4. Application Layer. Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi.
Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.



Kamis, 24 April 2014

Jenis-Jenis Content Management System

Pada minggu kemarin, kita sudah membahas pengertian tentang Content Management System (CMS). Nah pada minggu ini, kita membahas tentang beberapa jenis CMS terbaik saat ini. Seperti yang kita ketahui dar sekian banyak produk CMS yang beredar di pasaran, kita dapat membaginya dalam dua golongan besar, yaitu :

  • Golongan pertama adalah produk CMS mersial.. Dibuat dan dikembangkan oleh perusahaan-perusahaan software yang menjalankan usahanya dengan motif mencari keuntungan. CMS jenis ini memiliki dan menyediakan hampir semua feature yang diharapkan dari sebuah CMS dan tentu saja tidak tersedia secara gratis. Setiap pengguna yang ingin memanfaatkan CMS komersial untuk mengelola websitenya haruslah membeli lisensi dari perusahaan pembuatnya. Lisensi yang tersedia sangatlah bervariasi, mulai dari lisensi yang berdasarkan kepada jumlah pengguna sampai kepada lisensi yang sifatnya multiserver dan dari yang berharga ribuan dollar AS sampai kepada jutaan dollar AS. Semua dapat disesuaikan dengan kebutuhan dan implementasi yang diharapkan pengguna. Sebagai layanan purna jual, biasanya perusahaan CMS akan memberikan pelatihan dan dukungan teknis berkelanjutan kepada para penggunanya. Tidak hanya itu, versi terbaru dari produk yang dipakai, juga dapat diperoleh dengan leluasa di area anggota dari website perusahaan CMS yang dimaksud.
  • Golongan kedua adalah produk CMS Open Source. Dibuat dan dikembangkan oleh sekelompok orang atau perusahaan yang intinya memberikan sebuah alternatif murah dan terjangkau kepada para pengguna. Tersedia secara gratis dan dapat dipergunakan sesuai dengan kebutuhan tanpa ada batasan. CMS jenis ini juga memberikan akses kepada penggunanya akan kode-kode pemograman, sehingga memudahkan pengguna memodifikasi CMS di masa-masa yang akan datang. Karena kode pemrograman terbuka untuk umum, secara tidak langsung para pengguna bahu-membahu dalam hal melacak dan memperbaiki bugs yang ada, menambah dan meningkatkan fungsi dan kemampuan CMS dan memberikan dukungan teknis dan non-teknis kepada yang membutuhkan. Sehingga prinsip dari komunitas, oleh komunitas dan untuk komunitas tidaklah terlalu berlebihan untuk menggambarkan situasi pengembangan CMS Open Source. Walaupun gratis, bukan berarti CMS Open Source tidak memerlukan lisensi dalam pemakaiannya. Bedanya, lisensi di sini berbentuk sebuah pernyataan yang biasanya menerangkan bahwasanya software CMS tersebut dapat dimodifikasi dan dikembangkan lebih lanjut dengan syarat semua kredit dihormati dan kode tetap terbuka untuk umum. Lalu, apakah seseorang bisa memanfaatkan teknologi ini untuk keperluan komersial? Tentu saja bisa. Asalkan tidak mengenakan biaya atas CMS yang dipakai kepada klien, tapi lebih kepada biaya pembuatan dan perawatan website. Saat ini banyak sudah pihak yang beralih ke CMS Open Source, setelah mengingat dan menimbang kemampuan yang ditawarkan CMS Open Source tidak jauh berbeda dengan CMS komersial dan biaya yang terjangkau.
Bagi anda yang ingin menggunakan CMS tapi tidak memiliki server sendiri, jangan lekas putus asa. Saat ini sudah tersedia berbagai CMS yang dapat disewa langsung dari penyedianya dengan memanfaatkan server yang mereka miliki. Dengan demikian anda tidak perlu lagi memikirkan bagaimana cara menginstalasi dan memodifikasi sebuah CMS, karena hampir semua yang dibutuhkan telah dipenuhi oleh pihak penyedia. Sebuah solusi yang bagus untuk anda yang ingin segera menikmati berbagai keuntungan CMS. Berikut ini adalah beberapa CMS yang ada di pasaran saat ini dan sedikit keterangan tentang fungsionalitas dari CMS tersebut.

  1. Drupal. Drupal adalah content management system dan blogging engine yang pertama kali dikembangkan oleh Driest Buytaert sebagai sebuah system bulletin board. Sekarang ini Drupal banyak digunakan oleh website-website yang memiliki traffic tinggi dan memiliki tingkat penanganan sebuah website hirarki yang kompleks. Sangat disarankan penggunaan Drupal untuk website-website berskala besar dan tingkat pemahaman web administrator tingkat advance. Memenangkan dua jenis penghargaan dalam Packt Publishing 2008 Open Source CMS Awards yaitu Overall 2008 Open Source CMS Award (Penghargaan Open Source CMS 20008 untuk Keseluruhan) dan Best PHP Open Source CMS. Dengan Drupal kita dapat dengan mudah membangun berbagai jenis halaman website-dari membuat blog sederhana sampai forum online dengan komunitas yang besar. Desain Drupal memang tidak sebagus Joomla!, tapi sangat mudah untuk di-customize. Drupal memiliki beberapa modul tambahan yang menarik, seperti untuk search tool dan search-engine friendly URL, dan agregator berita.
  2. Joomla. Joomla itu sendiri adalah CMS (Content Management System) artinya bisa atau mampu mengelola isi atau content dari sebuah website. contohnya Publikasi (menampilkan artikel), edit, atau menghapus sebuah content. content ini bisa berupa gambar, video, file dll. CMS Joomla juga banyak yang menggunakannya. Mayoritas CMS Joomla digunakan untuk membuat sebuah website baik itu company profile, personal, website sekolah, hingga toko online. Karena CMS Joomla ini memang dikhususnya untuk membangun website yang powerfull. Meskipun CMS WordPress juga powerfull, tetapi CMS Joomla lebih komplek dari CMS WordPress dan sistem manajemennya yang sedikit rumit dari CMS WordPress. Kekurangannya, salah satunya adalah kemampuan website membuat link yang mudah dibaca dan cepat dikenali oleh mesin pencari masih kurang. Kelemahan ini membuat website kita jarang menempati urutan teratas dari hasil pencarian mesin pencari.
  3. WordPress. Untuk pemula, WordPress memang sangat cocok dikarenakan fitur yang mudah dan dengan widget yang mungkin lebih lengkap seperti statistik blog, akismet ( pemblock spam ) yang tidak di temui di blogspot, mungkin ada yang lain, komentar terakhir, favicon, pengaturan avatar, yang begitu mudah. tapi sekarang blogspot yang begitu mudahnya mengganti themanya dan sekarang banyak sekali yang menyediakan thema blogspot yang sudah dimodifikasi dan begitu bagus, juga sepertinya patut di pertimbangkan. CMS WordPress ini adalah sebuah CMS yang sebenarnya dikategorikan ke dalam CMS jenis Blog. Meskipun di khususnya untuk blog, namun kenyataannya banyak sekali developer-developer yang menggunakan CMS ini untuk membuat sebuah website baik itu company profile, hingga toko online. Karena CMS WordPress ini selain User Friendly, juga memiliki fitur dan layanan yang banyak, selain itu dukungan komunitas juga sudah menyebar luas.
  4. Magentocommerce. Magento Commerce, untuk saat ini dinilai sebagai software eCommerce yang paling lengkap fiturnya dan fleksibel. Di samping itu, Magento Commerce juga didukung oleh Irubin Consulting/Varien, sebagai perusahaan internasional yang menyediakan layanan implementasi eCommerce dengan Magento Commerce, pada level enterprise. Dengan dukungan ini, perkembangan eCommerce pada tingkat enterprise bisa diserahkan kepada ahlinya. Sebagai software eCommerce yang disiapkan untuk level enterprise, Magento Commerce memiliki requirement yang “agak berat”. Jumlah ruang hard disk yang dibutuhkan, jumlah memori yang dipakai, dan kebutuhan CPU pada saat menjalankan Magento Commerce, di atas rata-rata software eCommerce lainnya. Hal ini bisa dianggap sebagai batasan untuk calon pedagang online yang budget-nya pas-pasan. Magento Commerce akan sangat tepat kita pakai apabila kita mempunyai server sendiri, atau setidaknya kita memiliki VPS (Virtual Private Server) dimana kita punya kontrol terhadap sumber daya server. Menggunakan shared hosting memang memungkinkan, tetapi karena requirement Magento Commerce yang “agak berat”, kita perlu mengkomunikasikan penggunaan Magento Commerce kepada penyedia layanan web hosting. Kita perlu menyampaikan segala resiko potensial dari penggunaan Magento Commerce, terutama penggunaan sumber daya server, agar tidak terjadi salah pengertian di kemudian hari. Magento Commerce tergolong software eCommerce yang cukup kompleks dan perlu waktu untuk memahaminya. Jika latar belakang kita adalah IT, yang sedikit banyak tahu tentang server, software, apalagi bahasa pemrograman, Magento Commerce mungkin cukup menarik untuk dipelajari. Namun, apabila fokus kita memang hanya berjualan, kita perlu mempercayakan kepada orang lain yang memang ahli dalam implementasi Magento Commerce. Magento Commerce juga cocok untuk membuat mall virtual. Dengan kemampuannya untuk membuat banyak toko online hanya dengan satu instalasi, Magento Commerce bisa digunakan untuk menjalankan banyak toko online yang tergabung dalam satu domain. Jadi mirip seperti mall, hanya saja bentuknya virtual, atau hanya ada di dunia maya, yang diwakili dengan nama domain dan sub domainnya.
  5. Aura. Aura CMS adalah salah satu CMS hasil buatan anak indonesia. Namun, CMS ini masih banyak mempunyai kekurangan dibandingkan CMS-CMS seperti di atas, tetapi jika anda mampu mengembangkan CMS ini, alhasil CMS ini akan setara dengan CMS-CMS yang sudah populer saat ini.
  6. Opencart. OpenCart adalah CMS khusus untuk membuat sebuah Toko Online. CMS ini juga banyak dipakai baik bagi kalangan personal maupun developer yang ingin membangun sebuah toko online. CMS Opencart ini sudah bisa dibilang lengkap, karena memang CMS ini dikhususkan untuk E-Commerce. Beda dengan CMS-CMS diatas. Kekurangan CMS Opencart adalah dari sisi SEO, tetapi untuk manajemen kontennya CMS ini bisa dibilang mudah.
  7. Moodle. Mungkin ada sudah pernah mendengar dan ada yang belum. CMS ini memang agak asing, karena umumnya yang memakai CMS ini adalah sebuah instansi sekolah. CMS Moodle adalah sebuah CMS yang digunakan untuk membuat aplikasi E-Learning. Dalam CMS Moodle ini sudah terdiri fitur-fitur E-Learning yang sangat lengkap, mulai dari online test, forum, dll. Manajemen CMS ini agak sedikit rumit, dan harus diperlukan pemahaman tentang cara menggunakannya.