Membuat Report dengan MS Access

[basis.data|akuntansi|lab.software|pert.11]

Sambil membahas masalah normalisasi file, praktek basis data kali ini adalah membuat report pembelian dan penjualan. Sebagai informasi, pada pertemuan sebelumnya sudah dibahas pembuatan form pembelian yang melibatkan suplier, barang, dan detil pembelian. Atau lebih jelasnya dapat dilihat relasi antar tabel di bawah ini.

Mempersiapkan Report

Untuk membuat report baru tekan menu CREATE Report Wizard. Di sini menggunakan wizard agar lebih cepat dan mudah. Nanti jika akan dirubah, tinggal menekan Dezign View saja. Berikutnya masukan field-field yang akan muncul di report. Sebenarnya pilih saja sebanyak mungkin yang kira-kira dibutuhkan. Toh jika tidak dibutuhkan bisa dihapus dari report nantinya.

Di sini akan coba ditambahkan field-field pada tabel pembelian. Pastikan format sesuai dengan yang diinginkan sebagai berikut.

Lanjutkan dengan menekan Next> hingga report terbentuk. Berikutnya adalah menambahkan Total Pengeluaran terhadap seluruh pembelian yang telah dilakukan.

Membuat Total Pengeluaran

Sebelumnya masuk ke menu Report Design dengan mengklik kanan Report Penjualan dan memilih Design View.

Tambahkan satu Text Box untuk menampilkan total pengeluaran. Ganti teks dengan “Total Pengeluaran” setelah melebarkan bagian footer dengan mouse. Tekan bagian paling kanan Control Source pada property Data.

Masukan fungsi yang diperlukan, di sini menggunakan Sum yang artinya menjumlahkan suatu field (dalam hal ini Field Total). Tekan Ok untuk menguji report yang baru saja dibuat. Tampak total pengeluaran yang merupakan penjumlahan dari seluruh transaksi yang ada. Semoga bermanfaat, selamat mencoba.

NOTE: Di sini harga hanya contoh, tentu saja harga jual harus dibedakan dengan harga beli agar diperoleh keuntungan.

Iklan

Membuat Histogram

[komputer.1|manajemen|lab.sainstech|pert.9]

Histogram adalah grafik yang menunjukan hubungan data dengan frekuensi dalam inteval tertentu. Grafik ini penting untuk menunjukan sebaran nilai suatu data. Sehingga informasi dapat digali dari data tersebut. Misalkan kita memiliki data nilai sebagai berikut:

Berikutnya kita ingin melihat sebaran nilai tersebut dalam suatu interval:

Excel memiliki fasilitas “Data Analysis” yang dapat diakses di Menu Data (biasanya di sebelah kanan atas).

Excel akan mengeluarkan jendela Data Analysis. Pilih Histogram dilanjutkan dengan memilih range data.

Pilih range data nilai di atas serta bagian bin range data yang berisi data interval di atas.

Setelah ditek OK maka akan tampak Sheet baru yang menunjukan data tersebut.

Membuat Sebuah Interpreter dengan Lex and Yacc

[t.kompilasi|t.informatika|s.103|pert.10]

Jika pada pertemuan yang lalu dibahas bagaimana cara membuat kompiler yang berisi persamaan matematis dengan satu variabel keluaran, misal variabel x maka pada pertemuan kali ini akan diilustrasikan bagaimana membuat interpreter (yang berisi eksekusi baris-perbaris). Saat ini interpreter paling banyak digunakan mengingat aplikasi berbasis web yang paling banyak digunakan, misalnya php yang menerapkan prinsip interpreter.

Tutorial Lex and Yacc

Software Lex and Yacc memanfaatkan fasilitas yang dimiliki bahasa pemrograman c++. Hasilnya adalah sebuah kompiler baru yang sesuai dengan keinginan programmer. Untuk tutorial dapat dilihat di situs resminya yang disertai juga dengan contoh kode program yang akan digunakan pada postingan kali ini.

File-File yang Dibutuhkan

Seperti biasa file berekstensi *.l dan *.y diperlukan. Masing-masing berfungsi sebagai lexical generator (lex) dan semantic (yacc). Untuk sampel (silahkan unduh di sini), dua file utama adalah calc3.l dan calc3.y diperlukan selain satu buah file header, calc3.h. Ada satu buah file tambahan untuk interpreter (calc3a.c) yang menjalankan satu listing kalang/loop “while” sementara dua lainnya (calc3b.c dan calc3g.c). Lakukan proses kompilasi dan build pada calc3.l dan calc3.y.

Bagaimana cara menggunakan calc3a.c yang berfungsi sebagai interpreter? Tidak ada penjelasan detil pada situs resminya, sementara saya mengkopi isi dari calc3a.c di bawah instruksi “Include …” dan diletakan di bagian bawah calc3.y sebelum mengkompilasi file tersebut (akan menghasilkan y.tab.c dan y.tab.h). Jalankan file exe hasil build lex+yacc hingga menghasilkan interpreter di bawah. Untuk yang compiler dan graph sepertinya butuh penjelasan yang lebih rinci lagi di postingan yang akan datang.

 

Membuat Form Input Data Barang

[basis.data|akuntansi|lab.software|pert.12]

Untuk membuat contoh FORM input Barang dengan aplikasi berbasis web, dalam hal ini PHP dan basis data MySQL dibutuhkan komponen-komponen sebagai berikut:

  • Basis data dengan tabel
  • Kode PHP untuk koneksi data (lihat post sebelumnya)
  • Kode PHP untuk tampilan awal
  • Kode PHP untuk input data

Di sini kode yang digunakan dibuat semudah mungkin dengan bentuk yang paling dasar agar mudah dipraktekan.

Membuat Basis Data dengan Tabel

Sebagai contoh kita buat satu database dengan satu contoh tabel, misalnya penjualan dengan tabel barang-nya. Pertama-tama buka http://localhost/phpmyadmin/ untuk mengakses basis data MySQL. Tentu saja dengan terlebih dahulu menghidupkan Apache Server. Buka SQL query dengan menekan tombol Edit di bagian atas.

Maka Anda akan masuk ke menu SQL yang siap diisi script di bawah ini:

  • create database penjualan;
  • use penjualan;
  • create table barang(
  • KdBarang varchar(10),
  • NamaBarang varchar(25),
  • Harga decimal,
  • Primary key (KdBarang)
  • );

Pastikan SQL berjalan dengan baik dengan indikasi “Your SQL query has been executed successfully” seperti gambar berikut:

Refresh phpmyadmin untuk memastikan apakah satu buah basis data dengan nama penjualan sudah muncul dengan tabel barang yang juga terbentuk.

Membuat Kode PHP Untuk Koneksi Data

Diperlukan satu buah fungsi new mysqli dengan parameter berupa server, user, password, dan basis data.

  • <?php
  • $conn=new mysqli(‘localhost’,’root’,”,’penjualan’) or die (“Tidak Berhasil”);
  • echo ‘Ok’;
  • ?>

Simpan dengan nama, misalnya koneksi.php yang akan dipanggil (dengan fungsi include) setiap akan mengakses basis data. Cek dengan menjalankan http://localhost/latihan/koneksi.php yang mana di laptop saya koneksi.php berada di folder latihan pada folder utama htdocs. Pastikan hanya muncul tulisan Ok yang berasal dari line 4 kode di atas tanpa ada warning (biasanya salah password atau kurang tutup kurung dan kesalahan syntax lainnya. Lagi-lagi, kode di atas dibuat seminim mungkin.

Membuat Kode PHP Untuk Tampilan Awal

Banyak teknik-teknik untuk membuat tampilan awal yang baik. Silahkan menggunakan aplikasi-aplikasi bantuan seperti Macromedia Dreamweaver, Microsoft Frontpage, dan lain-lain. Di sini kita gunakan yang paling dasar. Tapi tentu saja dengan tabel agar lebih rapi. Gunakan kode berikut yang disimpan dengan nama form.php.

Bentuk formnya kira-kira sebagai berikut dengan mengakses http://localhost/latihan/form.php.

Terakhir adalah membuat kode PHP agar data yang dimasukan pada form di atas masuk ke tabel barang di basis data penjualan.

Membuat Kode PHP Untuk Input Data

Isi dari kode input adalah menyiapkan variabel yang ditangkap dari form.php sebelumnya agar bisa dikirim ke tabel barang field-field yang harus diisi. Berikut kodenya:

Masukan data baru, misalnya kode, nama, dan harga berturut-turut B001, Oli, 150000. Tekan simpan dan pastikan indikator “Ok” muncul.

Buka http://localhost/phpmyadmin/ dan pastikan ada satu data baru di tabel barang. Sekian, selamat mencoba.

Munafik yang Baik

Judul yang aneh, mungkin pembaca tidak setuju. Mana ada munafik yang baik. Terlepas dari istilah munafik yang artinya “bermuka dua”, mungkin di sini istilah yang tepat adalah menutup bagian yang memang tidak seharusnya diumbar untuk dilihat, seperti layaknya pakaian yang kita kenakan.

Goal Oriented

Ketika saya bekerja di bank, di satu cabang ada dua divisi yaitu operasional dan marketing. Jika operasional cenderung ketat absen masuknya, alias pagi pulang sore, bagian marketing cenderung santai. Hal ini karena divisi tersebut memang berorientasi pada target, berbeda dengan divisi operasional yang memang melayani transaksi. Tidak ada konflik di antara mereka.

Bagaimana dengan dosen? Tentu saja salah satu bagiannya adalah operasional juga, khususnya pada sisi pengajaran. Harus tepat waktu, karena akan ditiru oleh mahasiswa jika kita malas. Tetapi bagaimana jika memang tidak ada jam mengajarnya? Sementara ada beban meneliti dan mengabdi yang memang berorientasi tujuan (goal oriented). Jadi jika tidak ada mengajar, tidak perlu datang kah?

Tidak Ada Salahnya Menghargai

Tadinya saya memiliki prinsip goal oriented, mungkin terbawa pekerjaan saya di IT waktu di bank dulu yang terkadang kerjanya tidak mengikuti aturan jam masuk-pulang. Bahkan sempat menginap di salah satu cabang di kranji ketika instalasi sever baru. Tapi ketika saya studi lanjut di Thailand, saya melihat dosen pembimbing saya yang memiliki karakter yang menarik untuk dipraktekan, yaitu menghargai.

Dosen pembimbing saya merupakan dosen super sibuk. Tetapi uniknya dia tidak pernah menunjukan sibuknya di hadapan siapapun. Ini mungkin sifat menutup-nutupi darinya yang saya lihat pertama. Walau sulit dihubungi untuk konsultasi, tetapi ketika konsultasi dia akan fokus berhadapan dengan kita, mematikan semua alat komunikasi/koneksi dengan pihak lain. Padahal feeling saya banyak di fikirannya yang harus dikerjakan. Tetapi sikapnya yang berpura-pura hanya fokus ke saya memang dapat diacungi jempol. Di sini dia menghargai mahasiswa.

Lain lagi cerita masalah administrasi. Ketika saya mengirim email perihal prosedur, maka dia akan menjawab 100% prosedural. Mungkin karena via email yang memang bisa dijadikan bukti. Tetapi ketika berbicara via lisan/ketemu, dia bisa fleksibel banget. Kali ini dia menghargai sistem yang ada, dalam artian institusi akan melihat jika dia sangat menghargai aturan di kampus. Walau perkiraan saya dia tidak setuju, tetapi karena menghargai akhirnya dia ikuti.

Memang saya setuju dengan dosen yang fokus ke tujuan (goal oriented), tetapi dengan hanya fokus ke hal tersebut jika datang dan pergi semaunya sepertinya terlihat tidak menghargai bagian operasional (TU, SDM, dll). Apa salahnya mengenakan “baju” terlihat datang rajin ke kampus, intinya sebenarnya adalah menghormati dan menghargai orang lain, lembaga, dan pemilik/yayasan. Bahkan untuk hal tertentu, seperti menggunakan fasilitas kantor, sebaiknya ijin terlebih dahulu ke divisi yang memiliki fasilitas itu, walaupun milik kampus, toh sekali lagi tidak ada salahnya menghargai orang … malah harus lah.

Koneksi Paling Mudah PHP ke Basis Data MySQL

[basis.data|akuntansi|lab.software|pert.10]

Ternyata untuk menghubungkan sebuah web-based application ke MySQL hanya membutuhkan empat langkah kode PHP. Namun tetap saja karena berupa script agak sedikit menyulitkan rekan-rekan non IT. Postingan kali ini sedikit berbagi bagaimana menghubungkan satu database ke PHP. Oleh karena itu buka basis data sembarang yang telah dibuat.

Membuat koneksi.php

File php yang dibuat misalnya bernama “koneksi.php” yang artinya script kode php untuk menghubungkan basis data dengan aplikasi web. Pertama-tama buka notepad/text editor untuk mengetik kode php. Ketik informasi bahwa bahasa yang digunakan adalah php dengan kode <?php dan di bagian akhir dengan kode ?>.

Berikutnya adalah $user = ‘root’; yang menginformasikan ke basis data tujuan nama user basis data, di sini contohnya adalah root. Sementara passwordnya dengan mengetik kode $pass = ‘ ‘; yang artinya tanpa dipassword. Simbol $ berarti sebuah variabel, dalam hal ini user dan pass. Berikutnya ketika basis data bisa masuk dibutuhkan nama basis data yang ada pada MySQL, misalnya beasiswa yang ada di MySQL saya. Kode yang digunakan $db = ‘beasiswa’;

Jika parameter (user, password dan nama database) sudah diisi, berikutnya adalah membuat kode koneksi baru dengan fungsi new mysqli. Karena ada dua kemungkinan (berhasil login atau tidak) maka dibutuhkan kode lainnya yaitu or die (“Tidak Berhasil Terkoneksi ke Database”); Listing lengkapnya adalah sebagai berikut:

  1. <?php
  2. $user=’root’;
  3. $pass=”;
  4. $db=’beasiswa’;
  5. $db=new mysqli(‘localhost’,$user,$pass,$db) or die (“Tidak Berhasil”);
  6. echo ‘Koneksi Berhasil’;
  7. ?>

Menguji Kode PHP

Letakan koneksi.php pada folder htdocs atau di folder lain asalkan induknya di folder tersebut. Kemudian buka browser dan masuk ke alamat http://127.0.0.1/koneksi.php. Baris keenam di kode atas hanya berfungsi memberi tahu jika koneksi berhasil.

Bagaimana jika koneksi tidak berhasil. Untuk contoh isi saja kode di baris ketiga dengan password asal. Maka browser akan memberitahukan pesan bahwa akses ditolak untuk user yang dimasukan. Sekian tips singkat ini, semoga bermanfaat.

Praktek Longest Common Subsequence (LCS) dengan C++ Online

[algoritma|t.informatika|r.408|pert.11]

Longest Common Subsequence (LCS) merupakan rentetan string dari dua string yang dibandingkan. Misalnya string1: a-b-d-a-c-e dan string2: b-a-b-c-e.

Di sini b-a-c-e merupakan LCS. String a tidak boleh dengan a pada string 1 karena berbenturan dengan koneksi b-b antara string 1 dan string 2. Salah satu metode yang efisien adalah dengan pemrograman dinamis dengan cara:

  • Membuat tabel
  • Mengekstrak LCS

Tabel berisi arah panah (kiri, atas, atau diagonal) disertai nilai tertentu yang gunanya untuk mengekstrak LCS.

Dari tabel diketahui LCS yang berwarna pink yaitu b-a-c-e.

Implementasi Dalam Bentuk Program

Banyak situs-situs ok yang menyediakan kode sumber untuk algoritma mencari LCS lewat pemrograman dinamis. Untungnya juga banyak situs-situs yang menyediakan compiler beberapa bahasa pemrograman, misalnya bahasa C++. Jadi tidak perlu khawatir jika di komputer tidak terinstal kompiler C++. Bahkan bisa dijalankan lewat handphone. Situs yang jalan untuk kode program sampel berikut adalah onlinegdb. Hapus semua lembar kerjanya (berisi contoh program mengeprint: “hello word”) copy dan paste kode berikut:

Program tersebut mencontohkan mencari LCS dari dua string AGGTAB dan GXTXAYB yang menghasilkan string LCS: GTAB. Tekan tombol RUN dan lihat hasilnya di bagian bawah jendela onlinegdb. Atau ganti dengan contoh di atas Char X[]=”ABDACE” dan Char Y[]=”BABCE” yang hasilnya berikut:

Untuk mengetahui prinsip kerja dasarnya dapat dilihat di video sederhana berikut. Sekian semoga bermanfaat.