Template Fungsi C++

Template Fungsi C++

Template Fungsi C++ : Template Fungsi C++ adalah fungsi-fungsi yang dapat menangani tipe data yang berbeda tanpa kode terpisah untuk masing-masingnya. Untuk operasi serupa pada beberapa jenis tipe data, seorang programmer tidak perlu menulis versi yang berbeda dengan membebani suatu fungsi. Cukup jika dia menulis fungsi berbasis template C++. Ini akan menangani semua tipe data.

Ada dua jenis template dalam C++, yaitu template fungsi dan template kelas. Artikel ini hanya membahas template fungsi.

Ada banyak kesempatan, di mana kita mungkin perlu menulis fungsi yang sama untuk tipe data yang berbeda. Contoh favorit dapat berupa penambahan dua variabel. Variabel dapat berupa integer, float atau double. Persyaratannya adalah mengembalikan tipe pengembalian yang sesuai berdasarkan tipe input. Jika kita mulai menulis satu fungsi untuk masing-masing tipe data, maka kita akan mendapatkan 4 hingga 5 fungsi berbeda, yang dapat menjadi masalah pemeliharaan.

Template C++ datang untuk menyelamatkan kami dalam situasi seperti itu. Saat kami menggunakan templat fungsi C++, hanya satu tanda tangan fungsi yang perlu dibuat. Kompiler C++ akan secara otomatis menghasilkan fungsi yang diperlukan untuk menangani tipe data individual. Ini adalah bagaimana kehidupan seorang programmer menjadi jauh lebih mudah.

Fungsi Template C++ – Detail:

Mari kita asumsikan contoh kecil untuk fungsi Add. Jika persyaratannya adalah menggunakan fungsi Add ini untuk integer dan float, maka dua fungsi harus dibuat untuk masing-masing tipe data (overloading).

int Add(int a,int b) { return a+b;} // fungsi Tanpa template C++

float Add(float a, float b) { return a+b;} // fungsi Tanpa template C++

Jika ada beberapa tipe data yang harus ditangani, lebih banyak fungsi harus ditambahkan.

Tetapi jika kita menggunakan templat fungsi c++, seluruh proses direduksi menjadi satu templat fungsi c++. Berikut ini akan menjadi fragmen kode untuk fungsi Add.

templat

T Tambah(T a, T b) //contoh template fungsi C++

{

kembali a+b;

}

Definisi template fungsi c++ ini sudah cukup. Sekarang ketika versi integer dari fungsi, kompiler menghasilkan fungsi Add yang kompatibel untuk tipe data integer dan jika float dipanggil, itu menghasilkan tipe float dan seterusnya.

Di sini T adalah nama jenisnya. Ini ditentukan secara dinamis oleh kompiler sesuai dengan parameter yang diteruskan. Kelas kata kunci berarti, parameter dapat berupa jenis apa pun. Bahkan bisa satu kelas.

Fungsi Template C++ – Penerapan:

Templat fungsi C++ dapat digunakan di mana pun fungsi yang sama harus dilakukan dengan sejumlah tipe data. Meskipun sangat berguna, banyak perhatian harus dilakukan untuk menguji fungsi template C++ selama pengembangan. Template c++ yang ditulis dengan baik akan sangat menghemat waktu bagi programmer.

OLAP, Teknologi Alternatif Di Atas Spreadsheet

Apakah Spreadsheet Merampok Keunggulan Kompetitif Perusahaan Anda?

‘90% perusahaan “rata-rata” tidak yakin bahwa perkiraan dan laporan mereka akurat dan dapat diandalkan’

Dalam sebuah studi baru-baru ini, 81% FD menyebutkan bahwa prioritas tertinggi mereka adalah keakuratan perkiraan pendapatan dan pendapatan, sementara 63% mengeluhkan sistem anggaran dan perkiraan yang tidak memadai.

FD modern mendapat tekanan yang meningkat dari semua pihak untuk menghasilkan informasi keuangan yang lebih kuat, bermakna, dan akurat. Hal ini didorong oleh berbagai faktor:

Teknologi internet menciptakan model bisnis baru yang membutuhkan model keuangan inovatif
Lingkungan bisnis yang muncul menciptakan lebih banyak persaingan yang membutuhkan informasi berdasarkan analisis skenario persaingan yang dinamis
Skandal akuntansi baru-baru ini dan tanggapan peraturan terhadapnya membutuhkan tingkat integritas dan akurasi data yang lebih tinggi.

Semua pemangku kepentingan dalam perusahaan membutuhkan lebih banyak analisis, berdasarkan model kompleks dalam periode waktu yang lebih singkat, dengan akurasi dan kemampuan untuk menjelaskan anomali dalam data yang disajikan sangat penting bagi keberhasilan manajemen perusahaan.

Sangat menarik kemudian bahwa survei terhadap 2000 perusahaan tentang praktik terbaik keuangan oleh Hackett Group mengungkapkan bahwa dua pertiga dari perusahaan “kelas dunia” dan 90% dari perusahaan “rata-rata” tidak yakin bahwa perkiraan dan laporan mereka akurat dan dapat diandalkan. . Mengapa?

Pertimbangkan dua sistem utama dari mana data ini dikumpulkan.

Beberapa sistem ERP digunakan untuk mengumpulkan data untuk penganggaran, peramalan, dan pelaporan. Inter-kompatibilitas sistem ini dapat menyebabkan ketidakakuratan.
Kedua, spreadsheet masih merupakan bagian utama dari fungsi penganggaran, peramalan dan pelaporan departemen keuangan.

Ada semakin banyak penelitian yang menunjukkan masalah yang terkait dengan penggunaan spreadsheet di departemen keuangan. Itu mungkin bagus dan bagus, spreadsheet mungkin bukan sistem terbaik untuk digunakan di departemen keuangan. Namun, alternatif yang memuaskan belum disajikan untuk penggunaan spreadsheet, dan dengan demikian penelitian tentang penggunaan spreadsheet memiliki nilai praktis yang kecil bagi dunia keuangan pada umumnya. Pertanyaannya masih tersisa:

“Dapatkah Teknologi lain menggantikan Spreadsheet dalam Departemen Keuangan?”

Mengapa Spreadsheet digunakan?

Cukup sederhana, karena mereka bisa. Profesional keuangan dengan sedikit pengetahuan tentang pengembangan perangkat lunak komputer, pemrograman atau desain aplikasi mampu mengembangkan model kompleks yang dapat digunakan untuk mengelola fungsi keuangan. Juga, spreadsheet digunakan secara luas dan tersedia di dalam perusahaan dan sebagian besar pengguna informasi memiliki akses dan pengetahuan tentang cara menggunakan spreadsheet.

Jadi, apa masalahnya dengan spreadsheet?

Sebuah studi oleh Coopers dan Lybrand menunjukkan bahwa 90% dari semua spreadsheet dengan 150 baris memiliki kesalahan. Studi lain oleh KPMG menunjukkan 92% spreadsheet yang berhubungan dengan masalah pajak memiliki kesalahan yang signifikan dan 75% memiliki kesalahan akuntansi.

Secara umum, masalah yang terkait dengan spreadsheet dapat dibagi menjadi dua area utama:

Desain, Pengembangan, Fleksibilitas dan transparansi proses internal

Justru karena sebagian besar orang Keuangan, yang bertanggung jawab untuk mengembangkan dan memelihara model, TIDAK terlatih dalam desain dan pengembangan model spreadsheet sehingga ada masalah. Tidak ada Direktur Keuangan atau TI yang mengizinkan administrator basis data yang tidak berkualifikasi dan/atau tidak berpengalaman untuk mengembangkan dan memelihara basis data transaksional yang luas dan kompleks yang sekarang menjalankan Bisnis. Namun, ketika menyangkut desain dan pengembangan sistem Pelaporan Manajemen, Penganggaran dan Perencanaan, yang diandalkan untuk mengelola bisnis multinasional, praktik ini adalah hal biasa. Masalahnya di sini bukan karena Departemen Keuangan tidak cerdas secara finansial, mereka. Masalahnya adalah mereka tidak terlatih secara teknis dalam penggunaan Spreadsheet.

Spreadsheet secara inheren tidak fleksibel terhadap perubahan desain model yang mereka petakan. Ini karena metode yang digunakan spreadsheet untuk menautkan data, yang berbasis sel per sel. Struktur rumus internal yang ditulis ke dalam model spreadsheet tidak dinamis, sehingga jika ada perubahan NATURE rumus dalam satu lembar, tidak otomatis direplikasi di semua lembar atau buku kerja berikutnya. Setiap perubahan model, sekecil apa pun, harus direplikasi secara manual di setiap lembar dan/atau buku kerja yang terpengaruh.

Selanjutnya, tidak mungkin untuk mengikuti metodologi apa yang digunakan untuk menggerakkan model dalam spreadsheet. Ini karena semua rumus yang digunakan untuk menghubungkan dan memanipulasi data di dalam model disembunyikan. Ada sangat kurangnya transparansi formula yang mendasari dan oleh karena itu metodologi yang digunakan untuk mendorong model.

Integritas data

Meskipun ada masalah seperti yang dijelaskan di atas, masalah ini lebih tentang lamanya waktu yang dibutuhkan untuk mengembangkan, memelihara, dan mengubah Model Spreadsheet. Jika sumber daya tersedia

tidak mampu, maka masalah ini berhubungan dengan efisiensi penggunaan sumber daya. Yang lebih memprihatinkan adalah integritas data yang dilaporkan.

Data dalam Spreadsheet cenderung disimpan di buku kerja terpisah yang didistribusikan dan dikerjakan oleh berbagai pengguna di lokasi terpencil. Buku kerja ini kemudian dihubungkan dengan rumus satu sama lain. Tautan ini, bagaimanapun, memecah seluruh model. Jika Anda mengubah data dalam satu buku kerja, tidak ada cara untuk mengetahui apakah perubahan ini telah disertakan di seluruh model. Ini, untuk departemen keuangan adalah kejatuhan tunggal terbesar dari Spreadsheets.

Seperti dijelaskan di atas, karena rumus di dalam spreadsheet disembunyikan, tidak mungkin untuk menetapkan kebenaran rumus ini tanpa banyak peninjauan manual. Juga, karena setiap buku kerja adalah entitas yang terpisah, hanya karena satu buku kerja adalah dosis yang benar tidak berarti bahwa semua buku kerja lain yang digunakan dalam model sudah benar. Kesalahan dalam Spreadsheets adalah kelemahan yang diterima untuk sebagian besar departemen keuangan, namun fakta ini jarang dikomunikasikan kepada pengguna.

OLAP, sebuah teknologi alternatif

OLAP, atau Online Analytical Processing adalah teknologi yang disebut demikian pada tahun 1993 oleh Dr. Codd yang menemukan model database relasional. OLAP awalnya digunakan sebagai kata kunci untuk membedakannya dari OLTP (On-Line Transaction Processing). T digantikan oleh A untuk menekankan kemampuan Analitik dari teknologi baru sebagai lawan dari kemampuan transaksional dari teknologi database relasional. Saat ini, OLAP digunakan sebagai istilah umum untuk berbagai teknologi yang dulunya termasuk dalam istilah pendukung keputusan, intelijen bisnis, dan sistem informasi eksekutif.

OLAP menggunakan Dimensi untuk memetakan dasar-dasar bisnis yang mendasarinya. Misalnya, dalam FMCG Global tipikal, Dimensi yang digunakan adalah:

Unit Bisnis: yang akan memetakan struktur yang mendasari perusahaan, baik secara hukum dari sudut pandang badan hukum yang digunakan untuk tujuan pelaporan keuangan dan secara manajerial untuk tujuan pelaporan bulanan yang mungkin dari sudut pandang tanggung jawab. Dengan spreadsheet, hanya satu tampilan yang dapat dicapai dengan satu model.

Produk: yang akan memetakan susunan logis dari penawaran produk. Ini akan mencakup Merek, Sub Merek, SKU, Ukuran Kemasan, Warna dan sejenisnya. Sekali lagi, kedalaman analisis ini akan membutuhkan model spreadsheet yang besar dan kompleks.

Geografi: Dimensi ini akan memetakan geografi fisik dunia. Ini dapat digunakan untuk mematuhi persyaratan Pelaporan Segmental untuk Pelaporan Keuangan. Ini juga dapat digunakan untuk mengidentifikasi mata uang yang digunakan untuk melaporkan.

Pelanggan: Dimensi ini sangat penting dalam siklus Penjualan dan Debitur dan akan memetakan Pelanggan yang membeli produk.

Tindakan: Ini adalah dimensi utama tempat data disimpan dan biasanya berisi akun buku besar utama. Juga dalam dimensi ini akan menjadi ukuran ringkasan untuk katakanlah, Total Penjualan, GP dan GP%. Data non-keuangan dapat disimpan dalam dimensi ini seperti jumlah kepala. Dimungkinkan untuk menggunakan perhitungan dalam dimensi ini yang menyaingi yang tersedia di spreadsheet.

Periode: Dimensi ini akan memetakan semua persyaratan berkala untuk pelaporan. Bulan, Kuartal, Setengah dan Tahun.

Dimensi, konsep fungsional

Fungsi utama OLAP adalah penggunaan Dimensi yang digunakan untuk memodelkan dasar-dasar yang mendasari perusahaan. Hubungan dalam dimensi ini diwakili dan dimanipulasi secara grafis. Sangat mudah untuk menentukan apa yang membentuk ‘Total penjualan’ misalnya, atau wilayah geografis apa yang telah dimasukkan dalam ‘Wilayah 3’ Lihat Gambar 1.

Gambar 1 – Antarmuka OLAP Grafis

Juga, hubungan ini mudah dimanipulasi. Jika, misalnya, grup direstrukturisasi sehingga Italia sekarang jatuh ke Wilayah 3 alih-alih Wilayah 1 seperti yang ditunjukkan pada Gambar 1, itu adalah masalah menyeret dan menjatuhkan negara ini ke dalam wilayah 3. Lihat Gambar 2. Ini membuat pengelolaan model yang dikembangkan menggunakan relativitas OLAP sederhana dan intuitif dibandingkan dengan spreadsheet. Selain itu, perubahan yang dibuat diterapkan ke semua data relevan yang disimpan dalam database OLAP. Model spreadsheet harus diubah satu per satu.

Gambar 2 – Kemudahan Mengelola Model

Seringkali, ada lebih dari satu cara untuk mewakili suatu hubungan. Misalnya, Laba Kotor dalam model di atas didorong oleh perdagangan internal dan eksternal. Dimungkinkan untuk memodelkan cara yang berbeda untuk memperoleh Laba Kotor seperti yang ditunjukkan pada Gambar 3. Ada juga hubungan yang berbeda yang didorong oleh fundamental bisnis. ‘Hubungan alternatif’ mudah dimodelkan. Misalnya, negara-negara dalam dimensi geografis dapat menjadi bagian dari suatu wilayah dan juga zona. Lihat gambar 3.

Bandingkan ini dengan situasi jika spreadsheet digunakan untuk mendorong model ini. Tidak mungkin untuk mempertimbangkan semua dimensi ini secara bersamaan. Kemungkinan besar, data akan masuk sebagai hierarki spreadsheet yang ditautkan dengan setiap tingkat yang lebih tinggi menggabungkan dan meringkas

formasi di spreadsheet tingkat bawah. Lembaran bawah dalam hierarki akan menyimpan informasi wilayah geografis yang lebih kecil sementara spreadsheet tingkat yang lebih tinggi akan berisi informasi gabungan dari wilayah yang lebih besar dan lebih besar sampai spreadsheet atas akan mengkonsolidasikan dan meringkas data lengkap untuk seluruh wilayah di mana organisasi beroperasi.

Spreadsheet akan terputus, kurangnya transparansi seluruh model dan sangat sulit untuk merombak dalam kerangka waktu yang dapat diterima. Kemampuan untuk memetakan dan memanipulasi hierarki secara visual, serta mewakili pandangan yang berbeda tentang hubungan antar item dalam dimensi adalah keuntungan yang jelas dari OLAP.

Cepat, Cepat, Cepat

Ini adalah prinsip sebagian besar pembuat keputusan saat ini. Namun, akses ke data dan informasi yang diperlukan untuk membuat keputusan cenderung diadakan dalam sistem transaksional di mana pengambil keputusan tidak memiliki akses atau tidak mengerti. Ini mengharuskan pengambil keputusan untuk meminta informasi yang akan disiapkan oleh departemen keuangan. Ada penundaan waktu yang jelas dalam membalikkan permintaan ini.

OLAP merupakan teknologi yang dapat didistribusikan ke banyak pengguna dengan menggunakan berbagai platform. Karena ada satu penyimpanan data yang disimpan dalam ‘Cube’ OLAP, data dan informasi dapat diakses oleh banyak pengguna secara bersamaan di mana pun lokasinya.

Karena dimensi dan hierarki memetakan dasar-dasar bisnis, menganalisis data adalah proses yang intuitif. Tidak perlu memahami sumber data yang mendasarinya dan karena informasi tersebut menjadi dapat dimengerti dan dapat diakses oleh populasi perusahaan yang lebih besar. Manajer dapat menjawab pertanyaan analisis data mereka sendiri tanpa permintaan resmi ke Departemen Keuangan.

Pelaporan Format Tetap versus Laporan yang Dapat Dibor

Laporan spreadsheet adalah laporan format tetap. Mereka tidak dapat mewakili data yang disimpan di dalamnya dengan cara lain. Jika analisis lebih lanjut diperlukan, analisis ini tidak tersedia dalam laporan spreadsheet. Analisis lebih lanjut akan memerlukan laporan baru yang biasanya membutuhkan model baru untuk dikembangkan. Permintaan laporan Ad Hoc untuk analisis dan penyelidikan lebih lanjut sulit dicapai dalam lingkungan spreadsheet. Dengan OLAP, karena fundamental bisnis yang mendasari dan data disimpan dalam satu penyimpanan data, kemampuan untuk menganalisis data secara Ad Hoc melekat pada teknologi. Data di OLAP Cube disimpan dengan cara yang efisien yang secara khusus disesuaikan dengan analisis. Oleh karena itu dimungkinkan untuk menganalisis data dalam laporan dengan cepat, ‘Menelusuri’ atau ‘Meningkat’ ke data dasar yang membentuk angka yang dilaporkan. Kemampuan untuk menelusuri data yang dilaporkan bahkan dimungkinkan ke tingkat transaksional, tingkat analisis terakhir.

Mimpi data waktu nyata

Segera setelah ekstraksi data dilakukan dari berbagai sistem ERP yang digunakan dalam perusahaan, data tersebut menjadi usang, karena mungkin telah berubah sejak ekstraksi. Sebagian besar waktu yang dihabiskan untuk proses pelaporan, penganggaran, dan perencanaan dihasilkan dari ekstraksi dan pemeriksaan selanjutnya atas data yang diekstraksi. Spreadsheet tidak cocok untuk ekstraksi data waktu nyata dan kemampuan apa pun untuk spreadsheet untuk mengekstrak data khusus untuk sumber data tertentu. Berbagai sistem ERP memiliki fungsi mengekstraksi data ke dalam spreadsheet tetapi ini berarti bahwa fleksibilitas perusahaan dalam mengembangkan sistem internalnya berkurang. Ada siklus yang berlangsung sendiri, karena sistem ERP dapat mengekstrak data ke spreadsheet, spreadsheet digunakan. Karena spreadsheet mengekstrak data dari ERP tertentu, ERP itu harus digunakan.

Sifat pasar bisnis global membutuhkan data waktu nyata, persyaratan yang tidak dapat dipenuhi oleh spreadsheet. Namun, karena OLAP adalah teknologi basis data inti, OLAP mampu berkomunikasi dengan basis data lain secara mulus yang memungkinkan data diekstraksi dari sistem sumber sesuai permintaan. Mimpi data waktu nyata bukan lagi mimpi. Sekarang dimungkinkan untuk melaporkan mingguan, harian, bahkan setiap jam dengan informasi yang akurat dan bermakna yang dapat diakses oleh berbagai pengguna dengan sedikit atau tanpa pemahaman tentang struktur sumber data yang mendasarinya.

Kesimpulan

Pasti ada tempat untuk spreadsheet di departemen keuangan. Penggunaan spreadsheet sebagai alat untuk menjalankan fungsi Pelaporan, Perencanaan dan Penganggaran perusahaan masih dipertanyakan. Jelas bahwa ada teknologi lain yang tersedia yang lebih sesuai dengan fungsi ini.

Ada dua alasan utama mengapa spreadsheet masih digunakan sampai sekarang dan mengapa penggunaan teknologi alternatif di departemen keuangan buruk.

Pertama, kurangnya pemahaman di departemen keuangan tentang teknologi alternatif yang tersedia untuk memberikan solusi atas masalah yang dihadapi. Ada juga kurangnya pemahaman dalam departemen TI tentang masalah yang dihadapi dalam departemen keuangan. Satu departemen tidak mengerti pro

blem, departemen lain tidak mengerti solusinya.

Kedua, justifikasi pembelanjaan. Memperoleh dan menerapkan teknologi baru membutuhkan dana dan manfaatnya tidak mudah diukur secara finansial dan juga tidak langsung dirasakan. Sebagian besar proyek membutuhkan pengembalian sejumlah uang dalam tahun itu untuk membenarkan pengeluaran. Dengan akurasi data, kemudahan analisis dan penggunaan serta ketepatan waktu sebagai keunggulan utama OLAP, seringkali sulit untuk membenarkan pengeluaran.

Mayoritas perusahaan kelas dunia saat ini telah menggunakan OLAP sebagai teknologi kunci dalam menyampaikan informasi kepada para pengambil keputusan. Pertanyaan utama yang harus ditanyakan bukanlah apakah spreadsheet harus tetap menjadi platform utama untuk Pelaporan, Penganggaran, dan Peramalan. Sebaliknya, perusahaan harus bertanya pada diri sendiri berapa banyak keunggulan kompetitif yang siap mereka hilangkan melalui penggunaan informasi yang tidak akurat, ketinggalan zaman, dan tidak fleksibel sebelum teknologi alternatif diselidiki.

Perangkat Lunak