Serat optik adalah merupakan saluran transmisi atau sejenis kabel yang terbuat dari kaca atau plastik yang sangat halus dan lebih kecil dari sehelai rambut, dan dapat digunakan untuk mentransmisikan sinyal cahaya dari suatu tempat ke tempat lain. Sumber cahaya yang digunakan biasanya adalah laser atau LED[1]. Kabel ini berdiameter lebih kurang 120 mikrometer.
Perkembangan teknologi serat optik saat ini, telah dapat menghasilkan pelemahan (attenuation) kurang dari 20 decibels (dB)/km. Dengan lebar jalur (bandwidth) yang besar sehingga kemampuan dalam mentransmisikan data menjadi lebih banyak dan cepat dibandingan dengan penggunaan kabel konvensional. Dengan demikian serat optik sangat cocok digunakan terutama dalam aplikasi sistem telekomunikasi[2]. Pada prinsipnya serat optik memantulkan dan membiaskan sejumlah cahaya yang merambat didalamnya.
Secara garis besar serat optik terdiri dari 2 bagian utama, yaitu cladding dan core[3]. Cladding adalah selubung dari inti (core). Cladding mempunyai indek bias lebih rendah dari pada core akan memantulkan kembali cahaya yang mengarah keluar dari core kembali kedalam core lagi.
Efisiensi dari serat optik ditentukan oleh kemurnian dari bahan penyusun gelas. Semakin murni bahan gelas, semakin sedikit cahaya yang diserap oleh serat optik.
Single mode : serat optik dengan core yang sangat kecil, diameter mendekati panjang gelombang sehingga cahaya yang masuk ke dalamnya tidak terpantul-pantul ke dinding cladding.
Multi mode : serat optik dengan diameter core yang agak besar yang membuat laser di dalamnya akan terpantul-pantul di dinding cladding yang dapat menyebabkan berkurangnya bandwidth dari serat optik jenis ini.
Step indeks : pada serat optik step indeks, core memiliki indeks bias yang homogen.
Graded indeks : indeks bias core semakin mendekat ke arah cladding semakin kecil. Jadi pada graded indeks, pusat core memiliki nilai indeks bias yang paling besar. Serat graded indeks memungkinkan untuk membawa bandwidth yang lebih besar, karena pelebaran pulsa yang terjadi dapat diminimalkan.
Bagian-bagian serat optik jenis single mode
Pelemahan (Attenuation)
Pelemahan cahaya pada kabel serat optik sangat penting terutama dalam merancang sistem telekomunikasi serat optik. Berikut ini hal yang menyumbang pelemahan cahaya pada serat optik[6]:
Penyerapan (Absorption)
Penyebaran (Scattering)
Kehilangan radiasi (radiative losses)
Reliabilitas dari serat optik dapat ditentukan dengan satuan BER (Bit Error Rate). Salah satu ujung serat optik diberi masukan data tertentu dan ujung yang lain mengolah data itu. Dengan intensitas laser yang rendah dan dengan panjang serat mencapai beberapa km, maka akan menghasilkan kesalahan. Jumlah kesalahan persatuan waktu tersebut dinamakan BER. Dengan diketahuinya BER maka, Jumlah kesalahan pada serat optik yang sama dengan panjang yang berbeda dapat diperkirakan besarnya.
Keuntungan
Dalam penggunaan sistem fiber optik terdapat beberapa keuntungan, antara lain :
Dapat memuat volume informasi yang sangat besar dengan kecepatan transmisi mencapai gigabit-per detik
Kekebalan terhadap gangguan elektromagnetik dan gangguan radio
Tingkat keamanan yang lebih tinggi
Dapat menyampaikan informasi jarak jauh tanpa pengulangan
Ukuran fiber optik yang kecil sehingga hemat pemakaian ruang
Laporan keuangan adalah catatan informasi keuangan suatu perusahaan pada suatu periode akuntansi yang dapat digunakan untuk menggambarkan kinerja perusahaan tersebut. Laporan keuangan adalah bagian dari proses pelaporan keuangan. Laporan keuangan yang lengkap biasanya meliputi :
Catatan dan laporan lain serta materi penjelasan yang merupakan bagian integral dari laporan keuangan
Unsur yang berkaitan secara langsung dengan pengukuran posisi keuangan adalah aktiva, kewajiban,dan ekuitas. Sedangkan unsur yang berkaitan dengan pengukuran kinereja dalam laporan laba rugi adalah penghasilan dan beban. Laporan posisi keuangan biasanya mencerminkan berbagai unsur laporan laba rugi dan perubahan dalam berbagai unsur neraca.
Perbedaan Pelaporan dan Laporan Keuangan
Haruslah dibedakan antara pengertian Pelaporan keuangan (Inggris: financial reporting) dan laporan keuangan (Inggris: financial reports). Pelaporan Keuangan meliputi segala aspek yang berkaitan dengan penyediaan dan peyampaian informasi keuangan. Aspek-aspek tersebut antara lain lembaga yang terlibat (misalnya penyusunan standar, badan pengawas dari pemerintah atau pasar modal, organisasi profesi, dan entitas pelapor), peraturan yang berlaku termasuk PABU (prinsip akuntansi berterima umum atau generally accepted accounting principles/GAAP). Laporan keuangan hanyalah salah satu medium dalam penyampaian informasi. Bahkan seharusnya harus dibedakan pula antara statemen (Inggris: statement) dan laporan (Inggris: report)
Menurut Standar Akuntansi Keuangan yang dikeluarkan oleh Ikatan Akuntan Indonesia tujuan laporan keuangan adalah Meyediakan informasi yang menyangkut posisi keuangan, kinerja, serta perubahan posisi keuangan suatu perusahaan yang bermanfaat bagi sejumlah besar pemakai dalam pengambilan keputusan.
Laporan keuangan yang disusun untuk tujuan ini memenuhi kebutuhan bersama sebagian besar pemakai. Namun demikian, laporan keuangan tidak menyediakan semua informasi yang mungkin dibutuhkan pemakai dalam mengambil keputusan ekonomi karena secara umum menggambarkan pengaruh keuangan dan kejadian masa lalu, dan tidak diwajibkan untuk menyediakan informasi nonkeuangan.
Laporan keuangan juga menunjukan apa yang telah dilakukan manajemen (Inggris: stewardship), atau pertanggungjawaban manajemen atas sumber daya yang dipercayakan kepadanya. Pemakai yang ingin melihat apa yang telah dilakukan atau pertanggungjawaban manajemen berbuat demikian agar mereka dapat membuat keputusan ekonomi. Keputusan ini mencakup, misalnya, keputusan untuk menahan atau menjual investasi mereka dalam perusahaan atau keputusan untuk mengangkat kembali atau mengganti manajemen.
Karakteristik Kualitatif Laporan Keuangan
Karakteristik kualitatif merupakan ciri khas yang membuat informasi dalam laporan keuangan berguna bagi pemakai. Terdapat empat karakteristik kualitatif pokok yaitu :
Dapat Dipahami
Relevan
Keandalan
Dapat diperbandingkan
Sumber : http://id.wikipedia.org/wiki/Laporan_keuangan
Sebuah daftar linier atau list linier [linear list], merupakan suatu Struktur Data Umum yang terbentuk dari barisan hingga [yang terurut] dari satuan data,ataupun dari Record Elemen yang terdapat di dalam daftar di sebut simpul atou node
File merupakan saiah satu contoh dari daftar linier yang elemen-elemennya berupa Record.Sebagai contoh,Nomor di dalam Buku telepon membentu sebuah daftar linier, Yang apabila daftarmterebut di masukan ke dalam memori secara berangkai akan di dapat sebuah tabel
3.2 stack atau tumpukan
Stack atau tumpukan adalah bentuk khusus dari list linier.Pada stack, penghapus Serta pemasukan elemenya hanya dapat dilakukan pada satu posisi yakni posisi akhir dari list. Posisi ini di sebut Puncak atau Top dari Stack. Elemen stack s pada posisi ini di nyatakan dengan top (S).
Jelasnya bila Stack (S)=[S1,S2….ST] maka top (S) adalah ST. Banyaknya elemen stack S pada saat tertentu biasa kita sebut sebagai NOEL (S)Jadi untuk stack kita di atas, NOEL (S)=T.
Operator penghapus elemen pada Stack disebut POP, sedangkan Operator pemasukan element , disebut PUSH.
E
D
B
SNOEL(S) = 4, TOP(S) = E, dan seterusnya
A
Kita pada hakekatnya tidak membatasi beberapa banyak element dapat masuk ke dalam Stack. Untuk suatu Stack S = [S1,S2….SNOEL], kita katakana bahwa elemen S1 berada di atas elemen Sj, jika I lebih besar dari j. Suatu element tidak dapat kita POP ke luar, sebelum semua elemen di atasnya di keluarkan.
3.3 OPERASI PADA STACK
Terdapat empat operasi pada Stack, yakni CEATE (Stack), ISEMPETY(Stack), PUSH(elemen,stack), dan POP(Stack).CREATE(S) adalah Operator yang menyebabkan Stack S menjadi Stack hampa.Jadi NOEL (CREATE(S)) adalah 0, dan TOP (CREATE(S)) tak terdevinisi.Operetor ISEMPETY(S) bermaksud memeriksa Stack S hampa atau tidak.Operator PUSH (E,S) akan berkerja menambahkn elemen E pada Stack S,E ditempatkan sebagai TOP(S).Operator POP(S) merupakan operator yang bekerja mengeluarkan elemen TOP(S) dari dalam Stack. TOP(S) akan mengurangi nilai NOEL(S) dengan 1. Suatu kesalahan akan terjadi apabila kita mencoba melakukan POP(S) terhadap Stack S yang hampa.
3.4 DEKLARASI STACK DALAM VOBOL DAN PASKAL
Meskipun Stack amat luas digunakan, banyak bahasa pemprograman tidak mempunyai Type Data Stack secara built-in. Dalam hal ini, Pemrogram harus memanipulasi sendiri fasilitas yang dimiliki Bahasa Pemprogram tersebut, untuk dapat melakukan Operasi Stack terhadap Variabel Stack.Mungkin cara yang paling sederhana adalah membentuk Stack dalam bemtuk semacam Array.Satu hal yang nyata membedakan Stack dengan Array adalah banyaknya elemen Stack yang dapat bertambah atau berkurang setiap waktu, sementara banyaknya elemen sebuah Array selalu tetap. Deklerasi dari Variable S yang bertype data Stack. Diasumsikan bahwa elemen dari S masing – masing bertype data integer. Dan panjang Stack minimum 100 Elemen. Kita mendeklerasi bahwa sebuah Array yang dilengkapi dengan Variable TOP-PTR ini menyatakan subskrip dari elemen TOP(S) dari Stack . Kita menambahkan kombinasi dari Array dan indikator untuk TOP tersebut dengan nama STACK-STRUC. Dengan penyajian seperti ini, berlaku bahwa NOEL(S) = TOP-PTR, ISEMPETY(S) adalah true bila YTOP-PTR = 0, DAN false bila TOP-PTR lebih besar dari 0.
Dalam COBOL :
01STACK-STRUCT
02 S PIC 9 (5)
OCCURS 100 TIMES.
Dalam Pascal :
Type stackstruct;
record Stack : Array [ 1..100] of integer;
topptr : integer
end
var S : stackstruct;
Kombinasi tidak mengerti aturan INFO yang kita inginkan. Untuk itu Pemprogram harusberhati-hati dan tidak member indeks kepada S sembarang tempat, selain dengan nilai TOP-PTR.
3.5 APLIKASI STACK
Stack sangat luas pemakaiannya dalam menyelesaikan dalam menyelesaikan problema. Kompiler, Sistem Operasi, dan berbagai Program Aplikasi banyak menggunakan Stack tersebut. Salah satu contoh adalah problema atau Matching Parantheses.Sebuah kapiler mempunyai tugas, salah satu di antaranya adalah menyelidiki apakan pemrogram telah dengan cepat mengikti aturan tatabahasa, atau sintaks, dari Bahasa pemprograman yang bersangkutan.
NOTASI POSTFIX
Aplikasi lain dari stack adalah pada kompilasi dari ekspresi dalam bahasa pemrograman tingkat tinggi. Kompilator harus mampu menyerahkan bentuk yang biasa, misalnya ((A+B)*C/D+E^F)/G ke suatu bentuk yang dapat lebih mudah dipergunakan dalam pembentukan kode objeknya. Cara yang biasa kita lakukan dalam menulis ekspresi aritmetik seperti di atas, dikenal sebagai notasi infix. Untuk operasi binar seperti menjumlah, membagi, mengurangi, mengalikan ataupun memangkatkan, operator tampil di antara dua operand, misalnya operator + tampil di antara operand A dan B pada operasi A + B. Stack dapat digunakan untuk mentransformasikan notasi infix ini menjadi notasi posfix. Pada notasi posfix, kedua operand tampil bersama di depan operator, misalnya AB+atau PQ* dan sebagainya. Kompilator akan lebih mudah menangani ekspresi dalam notasi posfix ini.
Berikut contoh melakukan pengalihan ekspresi infix ke postfix secara manual. Ekspresi infix = A + B / C * D akan dialihkan menjadi ekspresi postfix.
1. Pilih sub-ekspresi yang berisi “dua operand dan satu operator” yang memiliki level tertinggi
di ekspresi di atas. Didapat B / C dan C * D. Pilih yang paling kiri, makakita peroleh: B / C.
2. Ubah sub-ekspresi tersebut menjadi sebuah operand, misalkan B / C menjadi E, maka
ekspresi semula menjadi: A + E * D.
3. Lakukan langkah ke (2) hingga ekspresi di atas menjadi “dua operand dan satu operator”
saja. Didapat: A + F
4. Alihkan menjadi bentuk postfix: operand-operand-operator, diperoleh A F +
5. Kembalikan setiap operand menjadi ekspresi semula. F tadinya adalah E * D, maka nilai
F = E* D. Satukan dengan ekspresi yang telah menjadi postfix. Hasilnya = A * E + D
6. Ulangi langkah ke (5) hingga terbentuk ekspresi postfix. Didapat A * B + C / D
Dengan demikian, ekspresi infix: A+B/C*D akan menjadi ABC/D*+ dalam notasi
postfix. Perhatikan dan pelajari tabel berikut ini:
Ekspresi InfixEkspresi Postfix
A + B A + B
A + B * C A + B * C
(A + B) * C A + B * C
A * B + C A + B * C
Bila ada sub-ekspresi di dalam tanda kurung, maka sub-ekspresi tersebut harus dikerjakan terlebih dulu.
Berikut ini diberikan sebuah algoritma untuk mengubah notasi infix ke dalam notasi posfix. Sebuah stack digunakan untuk keperluan ini. Ekspresi diamati satu persatu dari kiri ke kanan. Pada algoritma ini terdapat 4 aturan dasar, sebagai berikut:
1. Jika simbol adalah ‘’(‘’ (kurung buka), maka ia kita PUSH ke dalam stack
2. Jika simbol adalah ‘’)’’ (kurung tutup), POP dari stack elemen-elemen stack, sampai pertama
kali kita POP simbol ‘’(‘’. Semua elemen stack yang di POP tersebu merupakan output,
kecuali ‘’(‘’ tadi.
3. Jika simbol adalah sebuah operand, tanpa melakukan perubahan elemen stack, operand
tersebut langsung merupakan output.
4. Jika simbol adalah sebuah operator, maka jika TOP stack adalah operator dengan\ level lebih
tinggi atau sama, maka elemen TOP kita POP, sekaligus keluar sebagai output, dilanjutkan
proses seperti ini sampai TOP merupakan ‘’(‘’ atau operator dengan level lebih rendah. Kalau
hal ini terjadi, operator (yang diamati) kita PUSH ke dalam stack. Biasanya ditambahkan
simbol ; (titik-koma) sebagai penutup ekspresi. Dalam keadaan ini, kita POP semua elemen
stack, sehingga stack menjadi hampa.
Dapat dicatat bahwa terdapat 3 level operator, yakni pemangkatan (level tertinggi), level menengahnya adalah perkalian (*) dan pembagian (/) dan level terendah adalah penjumlahan (+) dan pengurangan (-). Tabel berikut menunjukkan pelaksanaan algoritma di atas untuk mengubah ekspresi ((A+B)*C/D+E^F)/G; ke dalam notasi postfix. Jadi, ((A+B)*C/D+E^F)/G akan menjadi AB+C*D/EF^+G/ dalam notasi postfix.
Sumber : D. Suryadi H.S., Pengantar Struktur data, Gunadarma, 1991
Salah satu Stuktur data yang teramat penting adalah Array atau larik. Array merupakan bagian dasar yang disebut dengan Blok, guna keperluan pembentukan suatu struktur dara yang lebih kompleks. Array merupakan suatu himpunan hingga elemen, terurut dan homogen.
1.1Array Dimensi Satu
Sebuah Array berdimensi satu, yang kita misalkan dengan nama Nilai, seperti gambar berikut :
NILAI (1)
NILAI(2)
--------
NILAI(N)
Subskrips atau indeks dari elemen Array menyatakan posisi elemen pada urutan dalam array tersebut.Secara umum, suatu array dimensi satu A dengan tipe Data T dan subskrip bergerak dari L sampai dengan U, ditulis sebagaiA(L:U) = A(I)), I =L, L+1, L+2,…., U dan setiap elemenA(I) bertipe Data T. Harga minimum dari subskrip dari Array disebut batas bawah atau lower bound, sedangkan harga maksimumnya disebut batas atas atau upper bound.
1.2 Array Dimensi Banyak
Sebuah Array dimensi banyak atau multi-dimensional Array didefinisikan sebagai sebuah Array yang elemennya berupa Array juga. Misalnya Array A mempunyai M elemen yang berupa Array yang terdiri dari N elemen.Jika diganbarkan akan berbentuk baris dan kolom, seperti berikut
12N
1
2
M
Untuk itu diperlukan dua buah subskrip, yang pertama digunakan untuk menyatakan baris,sedangkan yang kedua untuk posisi kolom.cross section atau penumpang suatu Array dimensi dua adalah pengambilan salah satu subskrip, misalnya subskripbaris tetap dan supskrip yang satunya lagi kita ubah-ubah sepanjang rangenya.Transposevdari suatu array dimensi dua adalah penulisan baris menjadi kolom dari suatu Array.
1.3 Mendeklarasikan Array Dalam Bahasa Pemograman
Misalnya kita hendak mendeklarasikan Array BARU yang merupakan Array berdimensi satu dengan nilai subskrip 1 sampai 24 dan masing-masing elemen bertipe Data integer (nilainya antara 0 hingga 99 derajat ).
Dalam Bahasa COBOL dapat ditulis :
01 TABEL- BARU
02 BARU OCCURS 24 TIMES
PIC 99
Dalam Bahasa Pascal :
var BARU : Array [1…24] of Integer
Dalam Bahasa Basic :
12 DIM BARU(24)
Untuk mendeklarasikan sebuah Array dari gaji 100 pekerja untuk 3 proyek, dalam COBOL ditulis
01 TABEL- GAJI
02 MHS OCCURS 100 TIMES
03 PROYEK OCCURS 3 TIMES
PIC 99V9
Dalam PASCAL ditulis
var gaji : Array[1..100,1..3] of real
Dalam BASIC dapat ditulis
08 DIM GAJI(100,8)
1.4 Pemetaan Array Dimensi Satu Ke Storage
Seperti halnya struktur data yang lain, ada beberapa cara untuk menyajikan Araay dindalam memori. Skema penyajian dapat dievaluasi berdasarkan 4 karakteristik, yakni
(1)Kesederhanaan dari akses elemen.
(2)Mudah untuk ditelusuri.
(3)Efisiensi dari utilitasistorage.
(4)Mudah dikembangkan.
Misalnya Array dimensi satu NOPEG dengan batas bawah subskrip 1 dan batas atas supskrip N. Salah satu cara untuk menyimpan Array ini adalahsedemikian sehingga urutan fisik dari elemen sama dengan urutan logic dari elemen. Untuk mengetahui alamat awal dari awal elemen NOPEG(I) dapat diketahui dengan 2 hal yakni :
(1)Address awal dari ruang storage yang dialokasikan bagi Array tersebut
(2)Ukuran dari masing-masing elemen Array.
1.5 Pemetaan Ke Storage Terhadap Array Dimensi Banyak
Karena memori komputer adalah linear, maka Array berdimensi banyak harus dilinearkan apabila akan dipetakan kedalam storage. Salah satu alternative untuk pelinearan tersebut adalah menyimpan pertama kali baris pada Array, kemudian baris kedua dan ketiga dan seterusnya disebut row major order.
Sebagai contoh, Array yang dideklarasikan sebagai BASE(1:4,1:6), yang secara logic dapat di gambarkan sebagai berikut :
123456
1
2
3
4
Rate (2,4)
Gambar 1.1 : Array BASE secara Logik dalam row major order
Gambar 1.2 berikut menggambarkan secara fisik
Baris 1Baris 2Baris 3Baris 4
Gambar 1.6 Array BASE secara fisik dalam row majororder
1.6 Triangular Array (Array Segitiga)
Tringular array dapat merupakan Upper Traingular ( seluruh elemen di bawah diagonal utama = 0, ataupun Lower Triangular ( Seluruh elemen di atas diagonal uatama = 0). Dalam Array Lower Triangular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke I, karena total elemen <> 0 tidak lebih dari :
N
SIGMAI = N(N+1)/2
I=I
Gambar 1.3 menunjukan Triangular Array berorder 6x6
XXXXXX X00000
0XXXXX XX0000
00XXX X XXX000
000XXX XXXX00
0000XX XXXXX0
00000X XXXXXX
(a)(b)
Ket : (a) Upper Triangular Array
(b) Lower Triangular Array
1.7 RECORD
Sebuh record merupakan koleksi satuan data yang heterogen, yakni terdiri dari berbagai type. Satuan data tersebut sering disebut sebagai field dari record. Field dipanggil dengan menggunakan namanya masing-masing. Suatu Field dapat terdiri atas beberapa subfield.
Sebagai contoh, Data personali dari seorang pegawai suatu perusahan di Amerika Serikat, merupakan sebuah Record yang terdapat terdiri dari berbagai field, dan subfield seperti berikut ini:
1.NOMOR JAMINAN SOSIAL
2.NAMA, yang terdiri atas
NAMA BELAKANG
NAMA PERTAMA
NAMA TENGAH
3.ALAMAT,terdiri atas
JALAN
NOMOR RUMAH
KOTA
NEGARA BAGIAN
KODE POS
3.MENIKAH
Seperti telah kita jelaskan terdahulu, Array berbeda dengan Record, yakni Array bersifat homogeny (terdiri dari type yang sama), dan komponen Array tidak memiliki mana sendiri, dan hanya diberi identifikasi oleh posisi mereka di dalam Array.
Pada umumnya record disimpan membentuk File, dalam urutan sesuai dengan nilai dari key masing-masing.