OpenCart: Membuat Modul Pengiriman

ShippingPosting ini mengetengahkan tutorial bagaimana kita membuat modul pengiriman lokal untuk OpenCart. Hal ini diperlukan karena modul pengiriman standar dalam OpenCart bersifat sangat umum, dan hanya bisa diaplikasikan untuk berjualan online di benua Eropa dan Amerika. Di Indonesia biasanya kurir menerapkan biaya tertentu berdasarkan kota tujuan dan berat barang. Oleh karena itu kita perlu menyediakan modul pengiriman yang khusus Indonesia.

Yang Perlu Disiapkan

Kita akan melakukan praktek langkah demi langkah bagaimana kita bisa membuat modul pengiriman OpenCart yang khusus Indonesia. Sebelum bisa melakukan hal tersebut terlebih dahulu kita mesti sedikit mengerti tentang pemrograman PHP, karena OpenCart ditulis dalam bahasa pemrograman tersebut. Menambah modul dalam OpenCart berarti menambah beberapa berkas yang ditulis dalam skrip PHP.

Berikutnya kita memerlukan OpenCart yang jalan di atas komputer lokal. Hal ini untuk memudahkan proses pembuatan modul, karena kita akan banyak melakukan penyalinan berkas dan pengetesan. Kalau kita tidak punya OpenCart yang jalan di komputer lokal, proses pembuatan modul sedikit banyak akan terhambat oleh proses salin berkas antar jaringan yang memerlukan waktu yang tidak sedikit.

Kita bisa menggunakan XAMPP, WAMPP, maupun LAMP untuk membuat instalasi lokal OpenCart. Pembahasan detil mengenai cara melakukan hal tersebut di luar skup posting ini, namun apabila Anda tertarik, posting berikut bisa menjadi acuan bagaimana kita membuat lingkungan virtual LAMP untuk menjalankan aplikasi yang berjalan di atasnya, termasuk OpenCart: Install WordPress di Komputer.

Disarankan juga untuk menggunakan salah satu IDE (Integrated Development Environment) untuk PHP selama mengembangkan modul pengiriman untuk OpenCart ini. Dengan menggunakan IDE kita akan terbantu terutama pada saat debugging. Salah satu contoh IDE yang bisa kita pakai adalah Eclipse edisi khusus untuk PHP. Untuk debugging kita bisa menggunakan Zend Debugger. Pembahasan detil mengenai cara menggunakan Eclipse dan Zend Debugger di luar cakupan posting ini. Namun, penggunaan IDE sifatnya tidak wajib, karena kita bisa menggunakan teks editor sederhana seperti Notepad untuk mengedit skrip PHP.

Contoh Kurir Pengiriman Lokal OpenCart

Saya akan mengambil contoh sebuah modul pengiriman lokal fiktif yang memiliki tabel biaya pengiriman sebagai berikut:

Tujuan pengiriman C1 C2 D
Jakarta Rp 10.000 Rp 20.000 Rp 1.400
Bandung, Sukabumi, Purwakarta Rp 12.000 Rp 20.000 Rp 2.300
Cirebon, Indramayu, Ciamis Rp 13.000 Rp 30.000 Rp 2.500
Semarang, Ungaran, Demak Rp 15.000 Rp 32.000 Rp 3.100
Yogya Rp 17.000 Rp 35.000 Rp 3.500
Surabaya, Malang Rp 20.000 Rp 40.000 Rp 4.000

Tabel di atas mengasumsikan daerah asal pengiriman adalah Jakarta. Tabel tersebut hanya mencantumkan beberapa kota di Indonesia sebagai alamat tujuan pengiriman, sebagai contoh saja. Kota-kota tujuan lain bisa ditambahkan sesuai kebutuhan, namun untuk keperluan demo kita akan membatasi jumlah data agar tidak terlalu banyak. Sebagai acuan, untuk selanjutnya dalam posting ini kita sebut kurir ini dengan nama Kurir OpenCart.

Berikut ini pengertian C1, C2, dan D dalam tabel di atas:

  • C1: tarif pengiriman barang dengan berat kurang dari atau sama dengan 1 kg
  • C2: tarif pengiriman barang dengan berat lebih dari 1 kg dan kurang dari atau sama dengan 5 kg
  • D: tarif pengiriman barang untuk setiap kilogram di atas 5 kg

Misalnya biaya pengiriman barang dengan daerah tujuan Surabaya, jika beratnya 7 kg dihitung sebagai berikut:

(Rp 40,000) + (2 x Rp 4,000) = Rp 48,000

Angka 40,000 diperoleh dari tarif pengiriman 5 kg. Angka dua dalam formula di atas diperoleh dari 7 kg dikurangi 5 kg, karena jika berat barang melebihi 5 kg maka tarif yang berlaku adalah tarif untuk 5 kg awal dan tarif 2 kg kelebihannya. Sedangkan angka 4,000 menunjukkan tarif setiap kilogram kelebihannya.

Walaupun demo ini menyajikan modul pengiriman untuk kurir fiktif, namun prinsipnya tetap bisa diterapkan dalam membuat modul pengiriman untuk kurir-kurir ternama di Indonesia seperti misalnya TIKI JNE.

Memahami Modul Pengiriman OpenCart

Agar kita bisa membuat modul pengiriman OpenCart, terlebih dahulu kita mesti memahami bagaimana modul pengiriman dalam OpenCart diimplementasikan. Berikut ini uraian singkat beberapa konsep dasar dalam modul pengiriman OpenCart.

Penggunaan Negara, Propinsi, dan Kota

Modul pengiriman OpenCart berkaitan erat dengan dengan alamat pelanggan. Hal ini karena kurir memerlukan alamat pelanggan setepat-tepatnya agar bisa mengirimkan barang dengan benar. OpenCart bisa mencatat alamat negara dan propinsi pelanggan dengan tepat, karena pelanggan diharuskan memilih dari daftar yang disediakan, dan tidak boleh mengetikkan secara bebas. Namun untuk kota dan alamat dengan tingkatan yang lebih rendah pelanggan diperbolehkan mengetikkan secara bebas sehingga berpotensi menimbulkan kesalahan ketik.

Modul pengiriman Kurir OpenCart menggunakan kota sebagai penentu biaya pengiriman. Oleh karena itu modul pengiriman kita akan mencocokkan kota yang dimasukkan sebagai alamat pelanggan dengan kota yang berada dalam daftar tabel di atas. Jika kota yang dimasukkan pelanggan terdapat dalam daftar tujuan pengiriman, berarti kita bisa menghitung biaya pengiriman. Namun apabila terjadi kesalahan ketik, atau kota yang dimasukkan tidak terdapat dalam daftar, maka biaya pengiriman pun tidak bisa ditentukan.

Modul Pengiriman Sebagai Extension OpenCart

Salah satu hal yang cukup bagus dari OpenCart adalah sifatnya terbuka untuk ditambahkan modul-modul lokal tanpa perlu mengubah codebase-nya. Modul pengiriman dan pembayaran bisa dipandang sebagai tambahan dalam OpenCart, sehingga bisa diaktifkan dan non-aktifkan kapan saja tanpa mengganggu jalannya operasional toko online. Walaupun demikian, OpenCart belum memiliki fitur untuk secara otomatis melakukan instalasi modul tambahan dari sebuah berkas arsip. Untuk menambahkan sebuah modul kita mesti menyalin secara manual semua berkas yang diperlukan ke dalam sistem berkas OpenCart.

Sebuah modul mesti ditambahkan dalam dua tempat:

  • katalog, digunakan dalam toko online oleh pelanggan
  • admin, digunakan dalam layar administrasi oleh pemilik toko online

Masing-masing tempat melibatkan penambahan beberapa berkas yang ditempatkan tersebar dalam beberapa folder. Kita akan segera melihat detil penambahannya dalam bagian berikut ini.

Pertimbangan Solusi

Solusi yang akan saya sajikan dan demokan dalam posting ini mempertimbangkan beberapa poin berikut ini:

  • Tidak menambah struktur tabel, keperluan penambahan data akan memanfaatkan struktur tabel OpenCart yang sudah ada. Hal ini dimungkinkan karena dalam OpenCart terdapat tabel yang sifatnya general, bisa digunakan untuk berbagai macam keperluan. Keputusan ini dipilih dengan pertimbangan kemudahan instalasi dan maintenance.
  • Memudahkan admin toko dalam meng-update tabel biaya pengiriman sesuai dengan tarif terkini yang diberlakukan oleh kurir. Dengan memanfaatkan perangkat lunak yang sering digunakan oleh pemilik toko, misalnya Microsoft Excel, dan layar administrasi OpenCart yang sengaja dibuat untuk entri data.

Langkah Demi Langkah untuk Admin

Berikut ini langkah demi langkah menambahkan modul pengiriman Kurir OpenCart yang dilakukan dalam Admin OpenCart.

  1. Buat berkas admin controller:

    /admin/controller/shipping/kurir_opencart.php, lalu salin isi dari flat.php dalam folder yang sama ke kurir_opencart.php.

    Buka kurir_opencart.php, lalu ubah nama class menjadi ControllerShippingKurirOpencart, lalu lakukan search & replace untuk mengganti semua kata flat dengan kurir_opencart.

  2. Buat berkas admin language dengan asumsi kita hanya menggunakan bahasa Inggris untuk admin:

    /admin/language/english/shipping/kurir_opencart.php, lalu salin isi dari flat.php dalam folder yang sama ke kurir_opencart.php. Lakukan search & replace untuk mengganti semua kata flat dengan Kurir OpenCart.

  3. Buat berkas admin view:

    /admin/view/template/shipping/kurir_opencart.tpl, lalu salin isi dari flat.tpl dalam folder yang sama ke kurir_opencart.tpl.

    Ubah baris ke-14, ganti HTML text dengan textarea.

    <textarea name=”kurir_opencart_cost” cols=”70″ rows=”5″>< ?php echo $kurir_opencart_cost; ?></textarea>

    Lalu lakukan search & replace untuk mengganti semua kata flat menjadi kurir_opencart.

  4. Login sebagai admin, masuk ke halaman http://opencart.local/admin/index.php?route=user/user_permission/update&user_group_id=1, lalu centang shipping/kurir_opencart, dalam Access Permission dan Modify Permission seperti terlihat dalam gambar berikut ini:

    Access Permission dan Modify Permission OpenCart

  5. Masih sebagai admin, lalu buka halaman http://opencart.local/admin/index.php?route=extension/shipping. Kurir OpenCart harusnya sudah berada dalam daftar extension yang ditampilkan, seperti terlihat dalam gambar berikut ini:

    Kurir OpenCart sebagai extension

    Klik tombol [Install] pada baris Kurir OpenCart. Langkah ini akan mengaktifkan extension Kurir OpenCart dalam OpenCart. Jika sudah ter-instal, tombol [Install] akan berubah menjadi dua tombol: [Edit] dan [Uninstall]

  6. Buka Microsoft Excel, lalu ketikkan daftar tujuan pengiriman untuk Kurir OpenCart. Tambahkan satu kolom untuk zone_id dari kota tujuan. zone_id menunjukkan id propinsi dari kota tujuan pengiriman. Informasi zone_id bisa didapat dari tabel zone dalam database OpenCart.

    Penting: ubah semua karakter koma (,) yang memisahkan nama kota menjadi karakter dash (–).

    Gambar berikut ini menampilkan isi dari spreadsheet Microsoft Excel yang berisi daftar tujuan pengiriman Kurir OpenCart.

    Spreadsheet Kurir OpenCart

  7. Simpan berkas Excel tersebut sebagai CSV (comma delimited). Lalu buka menggunakan editor teks Notepad.

  8. Login sebagai admin, buka http://opencart.local/admin/index.php?route=extension/shipping, lalu klik tombol [Edit] pada baris Katalog OpenCart. Dalam layar editor yang ditampilkan, copy-paste isi dari file CSV yang sudah dibuat dalam langkah sebelumnya ke dalam input Cost, seperti terlihat dalam gambar berikut ini:

    Admin Kurir OpenCart

    Ubah Status menjadi Enabled. Klik tombol Save.

Sampai di sini kita sudah menyelesaikan langkah-langkah yang diperlukan untuk menambahkan modul pengiriman Kurir OpenCart dalam Admin OpenCart.

Langkah Demi Langkah untuk Katalog

Berikut ini langkah demi langkah menambahkan modul pengiriman Kurir OpenCart yang dilakukan dalam Katalog OpenCart.

  1. Buat berkas model:

    /catalog/model/shipping/kurir_opencart.php, lalu salin isi dari flat.php dalam folder yang sama ke kurir_opencart.php. Ubah nama class ModelShippingKurirFlat menjadi ModelShippingKurirOpencart. Lakukan search & replace untuk mengganti semua kata flat dengan kurir_opencart.

  2. Tulis skrip untuk menghitung biaya pengiriman. Skrip ini ditulis dalam kurir_opencart.php pada baris 24. Contoh skrip ini dapat diunduh dari alamat berikut ini:

    http://suhanto.com/wp-content/uploads/2009/10/kurir_opencart.php.txt.

  3. Buat berkas katalog language dengan asumsi kita hanya menggunakan bahasa Inggris untuk admin: /catalog/language/english/shipping/kurir_opencart.php, lalu salin isi dari flat.php dalam folder yang sama ke kurir_opencart.php. Lakukan search & replace untuk mengganti semua kata flat dengan Kurir OpenCart.

Sampai di sini kita sudah menyelesaikan langkah-langkah yang diperlukan untuk menambahkan modul pengiriman Kurir OpenCart dalam Katalog OpenCart.

Lakukan Pengujian

Untuk keperluan pengujian, saya akan login sebagai pelanggan dengan alamat kota Surabaya – Jawa Timur. Kemudian saya membeli 7 unit Canon EOS 5D yang masing-masing beratnya 1 kg. Berat kumulatif barang yang dikirimkan berarti 7 kg. Setelah sampai di layar Shipping, biaya pengiriman akan dihitung. Untuk Kurir OpenCart, biaya pengiriman yang ditampilkan harusnya Rp 48.000.

Gambar berikut ini menunjukkan layar Shipping yang menampilkan biaya pengiriman untuk masing-masing kurir yang tersedia:

Layar Shipping OpenCart

Kesimpulan

Modul pengiriman lokal tidak tersedia dalam OpenCart standar. Oleh karena itu kita perlu membuat modul pengiriman untuk kurir-kurir lokal Indonesia sebagai modul tambahan (extension) dalam OpenCart. Setelah mempersiapkan semua yang dibutuhkan untuk pembuatan modul pengiriman dalam instalasi lokal OpenCart, yang kita lakukan adalah menambah beberapa berkas dalam Admin dan Katalog OpenCart sehingga modul pengiriman lokal tersebut bisa di-instal dan dipakai OpenCart untuk melayani pengiriman barang ke kota-kota di Indonesia.

Posting Terkait

Modul Pengiriman TIKI JNE untuk OpenCart
 
Bahasa Indonesia untuk OpenCart
 
OpenCart Indonesia 1.4
 
Yahoo Messenger untuk OpenCart
 
OpenCart untuk Jualan Online
 
OpenCart: 404 Handler
 
Posting ini masuk kategori Modul & Plugin, OpenCart, e-Commerce dan tag , .

110 Komentar terhadap OpenCart: Membuat Modul Pengiriman

  1. Noe berkata:

    Thanks Pak, it’s work….!!! kalau untuk banner di sisi kanan gmn pak, kalo di joomla kan ada html blank module jd kita bs menruh gambar di samping nya….

Tinggalkan Balasan

Your email address will not be published.

*

Anda bisa menggunakan tag dan atribut HTML berikut ini: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Investasi Emas
trusmi.com
renang.com
opencart.web.id
wpreferral.com

Komentar Terkini