Thermal Printer Citizen CBM 291

127 views
Skip to first unread message

MasUI

unread,
Feb 8, 2012, 10:39:13 PM2/8/12
to BengkelProgram
Salam ..., para master

saya punya problem dengan THERMAL PRINTER. MODEL CBM-290/291

saya ngeprin pake driver bawaan, di Delphi 6 cuma desain quick report
aja, tapi pas liat hasil cetakannya dia kelebihan margin botton jadi
masih nyisa kertas dikit.
padahal set margin nya udah custom size sesuai data dan ukuran kertas

kalau ada para master punya low level printing di delphi buat ngepasin
margin atau setting di printernya
atau link tutorialnya

terima kasih atas bantuian n masukannya....

ridwan

unread,
Feb 22, 2012, 10:39:14 PM2/22/12
to bengkel...@googlegroups.com
udah lama enggak ada yang posting algoritma,
ini cuman buat refresh otak aja, jawabannya bisa pake algoritma atau
pseudocode (pake kalimat), tapi enggak boleh pake bahasa pemrograman,
biar lebih gampang dibaca.
ini masalah yang mau dipecahkan:

masukan:
tanggal dua digit, bulan dua digit, tahun empat digit.

proses:
- pengecekan masukan.
- perhitungan tahun kabisat.
- perhitungan minggu ke dalam tahun.
- perhitungan tanggal minggu batas bawah.
- perhitungan tanggal minggu batas atas.

keluaran:
minggu ke dalam tahun itu (dalam bentuk minggu ISO, jadi minggu nya
dihitung dari hari minggu-sabtu),
batas bawah-->tanggal untuk hari minggu (atau tanggal satu),
dan batas atas-->tanggal untuk hari sabtu (atau tanggal hari terakhir
dari bulan),

asumsi:
diketahui 1-jan-2012 adalah hari minggu.

contoh masukan:
1)
03,02,2012 maka keluarannya: minggu ke 5, 1-feb-2012, 4-feb-2012
2)
30,01,2012 maka keluarannya: minggu ke 5, 29-jan-2012, 31-jan-2012
============================================================
ayo ada yang lagi bosen dan mau ngulik2?
ini bukan tugas kuliah lho, cuman iseng, hehehe...
soalnya kalo pake program udah ada fungsinya, jadi enggak perlu ngitung
manual semuanya lagi...

arulalamsyah19@yahoo.com fathor

unread,
Feb 23, 2012, 6:36:40 AM2/23/12
to bengkel...@googlegroups.com
pusing

Pada tanggal 22/02/12, ridwan <reedo...@gmail.com> menulis:

> --
> URL group: http://groups.google.com/group/bengkelprogram?hl=id
> Untuk keluar dari grup ini, kirim email kosong ke
> bengkelprogra...@googlegroups.com
> Website: http://www.bengkelprogram.com

ridwan

unread,
Feb 23, 2012, 9:14:06 PM2/23/12
to bengkel...@googlegroups.com
yah jangan langsung semuanya lah, yang gampang dulu,
pengecekan tahun kabisat pasti bisa kan?
coba itu aja dulu...

Hermawan Dephe

unread,
Feb 24, 2012, 1:04:41 AM2/24/12
to bengkel...@googlegroups.com
sebenere sii bisa aja ane kerjain,,, InsyaAllah..
tp.. sik sik.. wani piroo... wkwkwk

ridwan

unread,
Feb 24, 2012, 2:20:49 AM2/24/12
to bengkel...@googlegroups.com
walah malah jualan, hehehe

saya udah bisa, ini cuman buat olah otak aja, kan enggak semua member
sini jago logikanya, jadi dikasih yang setingkat diatas soal kuliah tapi
tetap gampang dipecahkan.
kan kuncinya itu ada di jumlah hari tahun kabisat toh...

ayo ada newbie yang mau nyoba? nanti saya pandu lho...

rohino mukti

unread,
Feb 24, 2012, 3:58:24 AM2/24/12
to bengkel...@googlegroups.com
logika ku gak jalan di pemrograman ntah kenapa . . .
#curhat ...
:) :)


Syarif Hidayatullah

unread,
Feb 24, 2012, 1:13:07 AM2/24/12
to bengkel...@googlegroups.com
walaaaahhh guampang tenan rek... :D


if ($input =='30,01,2012'){
    echo 'minggu ke 5, 29-jan-2012, 31-jan-2012';
} else if ($input =='03,02,2012'){
   echo 'minggu ke 5, 1-feb-2012, 4-feb-2012';
}


Input: 30,01,2012 

Output:
minggu ke 5, 29-jan-2012, 31-jan-2012 


wehehehe...

*tulalitmodeon*


2012/2/24 Hermawan Dephe <wawn...@gmail.com>
Untuk keluar dari grup ini, kirim email kosong ke bengkelprogram-unsubscribe@googlegroups.com
Website: http://www.bengkelprogram.com



--
Regards,
Syarif Hidayatullah

ridwan

unread,
Feb 25, 2012, 7:33:05 AM2/25/12
to bengkel...@googlegroups.com
hehehe ini lagi, udah minum obat puyer bintang toedjoeh?
wkwkwkwk...
ok biar deh ane buka sebagian :)

#input(tanggal,bulan,tahun)

awaltahun2012=0 'minggu

if cekkabisat(tahun) then
    hari(31,29,31,30,31,30,31,31,30,31,30,31)
    maxhari=366
else
    hari(31,28,31,30,31,30,31,31,30,31,30,31)
    maxhari=365
endif

if tanggal>hari(bulan) then
    keluar
endif

for i=1 to bulan do
    jumlahhari=jumlahhari+hari(i)
endfor

awaltahunsekarang=maxhari mod 7  /* menentukan hari apa tanggal 1 jan nya */

jumlahhari=jumlahhari+tanggal
mingguke=(jumlahhari+awaltahunsekarang div 7) - 1

dst dst...

gampang kan, silahkan dilanjutkan pembuatan fungsi2nya dan perhitungan tanggalawal dan akhirnya.


2012/2/24 Hermawan Dephe <wawn...@gmail.com>
Untuk keluar dari grup ini, kirim email kosong ke bengkelprogra...@googlegroups.com
Website: http://www.bengkelprogram.com



--
Regards,
Syarif Hidayatullah

Untuk keluar dari grup ini, kirim email kosong ke bengkelprogra...@googlegroups.com
Website: http://www.bengkelprogram.com

isnu danis

unread,
Feb 25, 2012, 8:57:41 AM2/25/12
to bengkel...@googlegroups.com
bisa ajarin gan....

ridwan

unread,
Feb 27, 2012, 3:35:29 AM2/27/12
to bengkel...@googlegroups.com
ssst, yg saya masukin masih disalah2in, biar mancing yang lain buat ngebenerin, tapi kelihatannya enggak berhasil yah...
atau udah kena virus 'wani piro'? hehehe....

ok,bro isnu nanya yang mana? nanti dijelasin sebisanya...

isnu danis

unread,
Feb 29, 2012, 10:58:04 AM2/29/12
to bengkel...@googlegroups.com
-- klo mau buat aplikasi pada kasir itu pake sofware apa ??

--
URL group: http://groups.google.com/group/bengkelprogram?hl=id
Untuk keluar dari grup ini, kirim email kosong ke bengkelprogra...@googlegroups.com
Website: http://www.bengkelprogram.com

Yuperhan Firdaus

unread,
Mar 2, 2012, 6:15:40 AM3/2/12
to bengkel...@googlegroups.com
Kawan-kawan anggota Milis Bengkel Program anu Edun-Edun Tea.

Saya Yuperhan Firdaus pemuda yang berumur lebih dari 53 tahun mencoba menjawab pertanyaan subyek ini walau agak berlebihan sedikit. Maklum saya (mungkin) masih terjebak pemrograman era DOS, sehingga membuat program jika menggunakan bahasa pemrograman panjang-panjang dan rumit.
Tapi jangan takut saya akan membuat kalender satu bulan yang cara kerjanya sederhana menggunakan Excel yang power full, 

Pemecahannya saya menggunakan sedikit pelajaran astronomi (tepatnya Astronomi Geodesi) sederhana.

Rumus-rumus (dari excel) yang pokok digunakan disini adalah :
Int : Hasil bulat sebuah pembagian
Mod : Sisa hasil bagi, dan
Vlookup 

Adapun rumus lain tidak digunakan juga tidak dosa

Silakan dikoreksi dan dibetulkan untuk kebaikan kita semua karena tidak ada hasil kerja manusia yang sempurna

Silakan di donlot lampirannya.

--
Yuperhan GD 8278032


Kalender.xlsx

Hermawan Dephe

unread,
Mar 5, 2012, 1:27:10 AM3/5/12
to bengkel...@googlegroups.com
Ni beneran pemuda umur 53 tahun ke atas om???
btw.. jawabannya komplit ya.. tp sepertinya masih kurang match ama soalnya ya... bener ga yg bikin soal??
hehe.. ntar gw mo nyobain ahh.... abis nii.. masih banyak kerjaan lom kelar soalnya.. wkwk

Yuperhan Firdaus

unread,
Mar 5, 2012, 7:39:33 AM3/5/12
to bengkel...@googlegroups.com
Benar Mas Hermawan, Saya berumur 53 tahun berkecimpung dalam pemrograman under dos sampai 2005. Tahun 2006 baru mencoba delphi dan sampai sekarang belum coba java atawa php atau yang berbasis web lainnya.
Pusing pisan euy

Oh iya excel yang saya kirim itu masih ada kurang penjelasannya :
  1. 01-01-01 (1  Januari tahun 1) adalah hari Senin
  2. Hari menjadi sama lagi setelah 7 hari
  3. Hari sebelum Paus Gregorius XII mengoreksi hitungan tahun kabisat hasilnya tidak sama dengan catatan sejarah yang ada
  4. Untuk menghitung jumlah hari sampai sebelum tahun yang diminta,  jika t adalah tahun diminta dikurangi satu :

          t + Int(t/4)-Int(t/100)+Int(t/400).

       yang seharusnya berbentuk

       365 x t + Int(t/4)-Int(t/100)+Int(t/400)

         Sedangkan 365 itu adalah  = 7 x 52 + 1,

        lalu 7 x 52 kita buang

--
Yuperhan GD 8278032


Hermawan Dephe

unread,
Mar 5, 2012, 8:27:20 PM3/5/12
to bengkel...@googlegroups.com
Saya sudah buat nii...
Excel ajaa yaa... Plisss dicek... :D
sori kalo masih ada salah itungan..
ulik_bp.xls

Hermawan Dephe

unread,
Mar 5, 2012, 9:50:52 PM3/5/12
to bengkel...@googlegroups.com
Yang tadi Excel udah saya bikin pula ni Scriptnya.. Pake Bahasa VB.
Silahkan copy paste script ini ke notepad lalu simpan dengan extensi VBS dan klik saja untuk menjalankan..
hasilnya akan sama seperti yg tadi Excel yg saya kirim..



'[INPUT]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Inputan dgn format DDMMYY
Mulai:
input_tgl = UCase(InputBox("Masukkan Tanggal format DDMMYY atau DDMMYYYY " & vbCrLf & "Untuk Keluar ketik END", "Input Ulik Ulik..."))

If input_tgl = "END" Then End '---> Kalo pengen STOP ketik aja END

'Dirubah ke format YY/MM/DD biar gampang konversinya
input_tgl = Left(input_tgl, 2) & "/" & Mid(input_tgl, 3, 2) & "/" & Right(input_tgl, 2)

'Cek jika salah input kasih warning
If IsDate(input_tgl) Then
    Tgl = DateValue(input_tgl)
Else
    MsgBox "Salah Input.. masukkan tanggal DDMMYY !", vbCritical, "Salah!"
    GoTo Mulai
End If
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


'[DATA]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Awal_tahun = DateValue(Year(Tgl) & "-01-01")
Selisih = Tgl - Awal_tahun
Selisih2 = Selisih + Weekday(Awal_tahun) '--> Weekday adalah posisi hari, Jika Senin = 1, Sabtu = 7

MsgBox "Awal Tahun = " & Format(Awal_tahun, "dd MMMM yyyy") & vbCrLf & _
       "Selisih = " & Selisih & vbCrLf & _
       "Selisih + PosisiHari Di Awal Tahun = " & Selisih2, vbInformation, "DATA : " & Format(Tgl, "dd MMM yyyy")
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


'[OUTPUT]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Minggu_Ke = Int((Selisih2 - 1) / 7) + 1   'Fungsi RoundDown tidak ada di BASIC language, jadi saya pake alternatif conversi ke Integer

'Opsi1_Bawah = ....
If Weekday(Tgl - 0) = 1 Then
    Opsi1_Bawah = Tgl - 0
ElseIf Weekday(Tgl - 1) = 1 Then
    Opsi1_Bawah = Tgl - 1
ElseIf Weekday(Tgl - 2) = 1 Then
    Opsi1_Bawah = Tgl - 2
ElseIf Weekday(Tgl - 3) = 1 Then
    Opsi1_Bawah = Tgl - 3
ElseIf Weekday(Tgl - 4) = 1 Then
    Opsi1_Bawah = Tgl - 4
ElseIf Weekday(Tgl - 5) = 1 Then
    Opsi1_Bawah = Tgl - 5
ElseIf Weekday(Tgl - 6) = 1 Then
    Opsi1_Bawah = Tgl - 6
Else: Opsi1_Bawah = Tgl - 7
End If
 
'Opsi1_Atas = ....
If Weekday(Tgl + 0) = 7 Then
    Opsi1_Atas = Tgl + 0
ElseIf Weekday(Tgl + 1) = 7 Then
    Opsi1_Atas = Tgl + 1
ElseIf Weekday(Tgl + 2) = 7 Then
    Opsi1_Atas = Tgl + 2
ElseIf Weekday(Tgl + 3) = 7 Then
    Opsi1_Atas = Tgl + 3
ElseIf Weekday(Tgl + 4) = 7 Then
    Opsi1_Atas = Tgl + 4
ElseIf Weekday(Tgl + 5) = 7 Then
    Opsi1_Atas = Tgl + 5
ElseIf Weekday(Tgl + 6) = 7 Then
    Opsi1_Atas = Tgl + 6
Else: Opsi1_Atas = Tgl + 7
End If
 
 
Opsi2_Bawah = DateValue(Format(Tgl, "yyyy-MM") & "-01")
Opsi2_Atas = DateValue(Format(Opsi2_Bawah + 31, "yyyy-MM") & "-01") - 1
 
If Opsi2_Bawah > Opsi1_Bawah Then
    BatasBawah = Opsi2_Bawah
Else
    BatasBawah = Opsi1_Bawah
End If

If Opsi1_Atas > Opsi2_Atas Then
    BatasAtas = Opsi2_Atas
Else
    BatasAtas = Opsi1_Atas
End If



If MsgBox("Minggu Ke = " & Minggu_Ke & vbCrLf & _
          "Batas Bawah = " & Format(BatasBawah, "dd MMMM yyyy") & vbCrLf & _
          "Batas Atas = " & Format(BatasAtas, "dd MMMM yyyy") & vbCrLf & vbCrLf & vbCrLf & "Mo Itung lagi kagak ???", vbInformation + vbYesNo, "OUTPUT : " & Format(Tgl, "dd MMM yyyy")) = vbYes Then GoTo Mulai
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ardian Pho

unread,
Mar 5, 2012, 10:15:54 PM3/5/12
to bengkel...@googlegroups.com
puyeng baca algo master2 diatas :((


2012/3/6 Hermawan Dephe <wawn...@gmail.com>

Hermawan Dephe

unread,
Mar 5, 2012, 10:34:15 PM3/5/12
to bengkel...@googlegroups.com
Tu udah scriptnya bukan Algoritma nya, meski demikian kayaknya bahasa BASIC udah jelas banget tuu, makanya saya ga pake bikin Algonya
kalo pusing mending dijalankan aja.. ga usah dibikin pusing.. bwt ngetes apakah yg saya bikin itu udah bener apa belom..
kalo lebih familiar ama Excel.. buka aja Attachment Excel yg barusan tadi saya kirimin juga...

Hermawan Dephe

unread,
Mar 5, 2012, 10:47:48 PM3/5/12
to bengkel...@googlegroups.com

Dulu ini test waktu saya masuk ke tempat kerja lama.. :D, meski cm modal pake ijazah SMA.. ijazah D3-nya blom punya secara baru masuk kuliah juga.. hihi
Ada yg tertantang mo nyobain ???? Bro Ridwan mungkin... yg kmaren ngasih soal ulik Logika..
ni soalnya..

 

Buatlah program/function/procedure untuk menghitung jumlah hari ke - N dalam 5 hari kerja.. Sabtu & Minggu Tidak dihitung

misal :

Tgl Hari Ini = 6 Maret 2012
Input hari kerja ke - N = 2
Hasil Output = 8 Maret 2012 ---> Tgl 6 + 2
--------------------------------------------
Tgl Hari Ini = 8 Maret 2012
Input hari kerja ke - N = 3
Hasil Output = 13 Maret -->  Tgl 8 + 3.. tapi karena tgl 10-11 adalah Sabtu & Minggu maka dilompat
--------------------------------------------
Tgl Hari Ini = 8 Maret 2012
Input hari kerja ke - N = 8
Hasil Output = 20 Maret 2012

 


Kalo soal yg tadi krasa SUSAH... silahkan coba yg soal berikut ini aja.. lebih mudah kayaknya.. tapi tetep dengan logic yg sama
coz saya buat  untuk kasus lain yg lebih sederhana :

 

Buatlah program/function/procedure untuk menghitung angka ke - N dari nilai awal
dengan RULE -> Jika kelipatan 5 maka dilewati

misal :

Nilai Awal = 1
Angka ke - N = 2
Hasil Output = 3  -> jumlah dari  1+2
--------------------------------------------
Nilai Awal = 1
Angka ke - N = 4
Hasil Output = 6 -> harusnya 5, tapi angka 5 dilewati jadinya 6
--------------------------------------------
Nilai Awal = 1
Angka ke - N = 10
Hasil Output = 13 -> angka 5 & 10 dilewati

Hermawan Dephe

unread,
Mar 5, 2012, 10:54:04 PM3/5/12
to bengkel...@googlegroups.com
Please apply kalo bisa hari ini juga..
minggu minggu ini bwt dipanggil Psikotestnya soalnya..
www.jobstreet.co.id/jobs/2012/2/default/40/406767.htm?fr=L

Ada yg ngerti PowerBuilder..??? insyaAllah Recomended bangettt kalo bisa....
GP skitar 3.5-4 juta...
minat?? apply aja...

PT. LP Displays Indonesia is a rename PT. LG Philips Displays Indonesia, Multinational company manufactures TV tube and TV set Component, that urgently seeking a highly motivated person to fill the bellow vacant position:


 

IT Supervisor
Bekasi (Jawa Barat) - Cibitung

Requirements:

  • Candidate must possess at least a Bachelor's Degree, Engineering (Computer/Telecomunication) or Equivalent with min. GPA 2.75
  • Male, Max age 28 years old
  • Familiar with Power Builder / Visual Basic / Delphi Programming language / SQL  Syntax
  • Having experience in web based Programming is advantages
  • At least 1 year(s) of working experience in IT Background (Software and Programming)
  • Preferably Supervisor / Coordinators specializing in IT/Computer - Software or equivalent
  • Fluent in English both oral & written
  • Full-Time positions available
Send your complete application with the code of position to:

HRD Dept.
PT. LP Displays Indonesia
Industrial Estate MM2100 Block G,
Cikarang Barat, Cibitung - Bekasi 17520

or e-mail to :
hrd....@lpdin.com







prio setiadi

unread,
Mar 6, 2012, 6:21:08 PM3/6/12
to bengkel...@googlegroups.com
cara mudah belajar logika lagoritma gimana sih ?
mohon penjelasan
trims

--

Hermawan Dephe

unread,
Mar 7, 2012, 3:41:11 AM3/7/12
to bengkel...@googlegroups.com
Sering maenan ama rumus2 logika Excel aja dulu broo..
pernah kenal programming ??

kalo bisa ni ku kasih soal gampang ajahh... bwt latihan logika.. Ni ga pake fungsi IF, cuman Looping/For..Next ajah
 

1.       Buatlah script program untuk membuat tampilan seperti ini
0,100, 1,99, 2,98, 3,97, 4,96.. dst.. 100,0
atau tampilan bisa lurus ke bawah jika ingin lebih mudah (angka max = 100, minimal = 0)
0
100
1
99
2
98
3
97
dst..
100
0


 

2.       Buat script untuk merubah suatu kalimat menjadi terbalik,
misal Kalimat : "AKU BAWA SARUNG" menjadi "GNURAS AWAB UKA"

atau boleh tampilan bisa lurus ke bawah jika ingin lebih mudah

G

N

U

R

A

S

A

W

A

B

U

K

A

ridwan

unread,
Mar 9, 2012, 3:51:09 AM3/9/12
to bengkel...@googlegroups.com
@ mas Yuperhan, wah salut, masih nyempetin waktu buat maen2 di bp, :thumbups:
@mas hermawan, hehehe karena sebelumnya pake basic, maka saya juga pake ah, anaknya vb, .net.
ini saya pake code behind vb.net, dibuat sederhana biar mudah dimengerti, tolong dicek yah, kali2 ada yang keliwat.

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim tanggalsekarang As String
        Dim harisekarang, N, Nreal, hari, jumlahhari, bulan(12), tahun, i As Integer
        tanggalsekarang = Today.ToString("ddMMyyyy")
        N = Convert.ToInt16(TextBox1.Text)
        jumlahhari = Convert.ToInt16(Microsoft.VisualBasic.Left(tanggalsekarang, 2))
        bulan(1) = 31
        If cekkabisat(Convert.ToInt16(Microsoft.VisualBasic.Right(tanggalsekarang, 4))) Then
            bulan(2) = 29
            hari = 366
        Else
            bulan(2) = 28
            hari = 365
        End If
        bulan(3) = 31
        bulan(4) = 30
        bulan(5) = 31
        bulan(6) = 30
        bulan(7) = 31
        bulan(8) = 31
        bulan(9) = 30
        bulan(10) = 31
        bulan(11) = 30
        bulan(12) = 31
        For i = 1 To Convert.ToInt16(Microsoft.VisualBasic.Right(Microsoft.VisualBasic.Left(tanggalsekarang, 4), 2)) - 1
            jumlahhari = jumlahhari + bulan(i)
        Next
        harisekarang = jumlahhari Mod 7
        Nreal = (N \ 5) * 2 + N
        If jumlahhari + Nreal > hari Then
            tahun = Convert.ToInt16(Microsoft.VisualBasic.Right(tanggalsekarang, 4)) + 1
            jumlahhari = jumlahhari + Nreal - hari
        Else
            tahun = Convert.ToInt16(Microsoft.VisualBasic.Right(tanggalsekarang, 4))
            jumlahhari = jumlahhari + Nreal
        End If
        i = 1
        Do While jumlahhari > bulan(i)
            jumlahhari = jumlahhari - bulan(i)
            i = i + 1
        Loop
        Label2.Text = "Tanggal kerja adalah:" & jumlahhari & "-" & i & "-" & tahun
    End Sub

    Public Function cekkabisat(ByVal a As String) As Boolean
        If a Mod 4 = 0 Then
            If a Mod 100 = 0 Then
                If a Mod 400 = 0 Then
                    cekkabisat = True
                Else
                    cekkabisat = False
                End If
            Else
                cekkabisat = True
            End If
        Else
            cekkabisat = False
        End If
    End Function


oh iya saya buat juga teka-teki, nih kode diatas akan tidak benar apabila kondisinya gimana? ayo2 tebak, hehehe...

salam...

Hermawan Dephe

unread,
Mar 9, 2012, 4:51:02 AM3/9/12
to bengkel...@googlegroups.com
Ga bisa dites broo... jarang orang yg punya vb.net soalnya :D
tapi kalo VB Script setiap yg punya Windows pastinya bisa coba. cukup disave ke pake notepad ke extensi ".vbs"

Btw,, ada fungsi cek kabisat bwt paan ya??
di excel saya & script saya ga pake tu.. tapi tetep bisa.

hard...@gmail.com

unread,
Mar 9, 2012, 5:55:42 AM3/9/12
to bengkel...@googlegroups.com
Powered by Telkomsel BlackBerry®

From: Hermawan Dephe <wawn...@gmail.com>
Date: Fri, 09 Mar 2012 16:51:02 +0700
Subject: Re: [BP] Ulak ulik logika LAGI!!! ada yg mau nyobain?????

Yuperhan Firdaus

unread,
Mar 9, 2012, 9:40:22 AM3/9/12
to bengkel...@googlegroups.com
Ini algoritma saya tapi belum di test
Di unduh saja
Yuperhan GD 8278032


Tanggal Kerja.docx

ridwan

unread,
Mar 12, 2012, 3:13:22 AM3/12/12
to bengkel...@googlegroups.com
Wah mas yuperhan, boleh nanya, langkah 3 apakah bermanfaat?, karena yang dihitung itukan kedepan (asumsi inputan positif).
kalau saya seperti algoritma sebelumnya, memakai patokan bahwa 1 januari 2012 adalah hari minggu.
tapi ini juga karena saya tidak ada masukan tanggal awal masuk. tapi diambil dari tanggal hari ini.
oh iya apa memang tanggal satu januari 1 itu hari minggu? dan setahu saya sudah dilakukan revisi beberapa kali untuk jumlah hari pada satu tahun, sehingga tidak akan cocok apabila dianggap bahwa jumlah hari satu tahun itu hanya 366 atau 365. sebaiknya dimulai pada tahun 1800 atau 1900-an, karena jumlah hari sudah konsisten 365/366 hari.

dan untuk point 10, berarti akan semakin lambat apabila n semakin besar, karena pengulangan dilakukan dengan pengecekan setiap komponen hari dari n.
kalau saya memakai rumus aja:
harisekarang = (jumlahhari + 6) Mod 7 --> mengecek hari apa hari sekarang (0=senin, 6=minggu)
Nreal = ((N + harisekarang - 1) \ 5) * 2 + N --> menghitung jumlah hari keseluruhan dengan menghitung sabtu dan minggu yang dilewati
N hari kerja.

and buat bro hermawan, belum nyoba konversi ke vbs, tapi kan gampang, tinggal konversi syntax aja, macam "microsoft.visualbasic.right" kan bisa dikonversi ke "right"...
dan cek kabisat itu dipakai buat menentukan bulan february itu 28 atau 29 hari, dan buat ngecek jumlah hari dalam satu tahun.
ini dipakai apabila N+tanggal masuk itu lebih besar dari pada jumlah hari pada tahun tanggal masuk.
nah, kode dibawah ini tanggal masuk itu diambil sebagai tanggal hari ini, dan tidak dibatasi awal masuk apakah hari sabtu atau minggu.
asumsi N itu selalu positif dan bernilai integer 16 bit (jadi jumlah hari N bisa melebihi satu tahun).
asumsi perhitungan hari biasa dan kabisat tidak berubah.

oh iya, untuk code yang sebelumnya udah ketahuan enggak salahnya?
ini saya copas yang saya anggap bener (jadi tolong koreksi kalo salah yah):

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim tanggalsekarang As String
        Dim harisekarang, totalhari, N, Nreal, hari, jumlahhari, bulan(12), tahun, i As Integer

        tanggalsekarang = Today.ToString("ddMMyyyy")
        N = Convert.ToInt16(TextBox1.Text)
        jumlahhari = Convert.ToInt16(Microsoft.VisualBasic.Left(tanggalsekarang, 2))
        bulan(1) = 31
        If cekkabisat(Convert.ToInt16(Microsoft.VisualBasic.Right(tanggalsekarang, 4))) Then
            bulan(2) = 29
            hari = 366
        Else
            bulan(2) = 28
            hari = 365
        End If
        bulan(3) = 31
        bulan(4) = 30
        bulan(5) = 31
        bulan(6) = 30
        bulan(7) = 31
        bulan(8) = 31
        bulan(9) = 30
        bulan(10) = 31
        bulan(11) = 30
        bulan(12) = 31
        For i = 1 To Convert.ToInt16(Microsoft.VisualBasic.Right(Microsoft.VisualBasic.Left(tanggalsekarang, 4), 2)) - 1
            jumlahhari = jumlahhari + bulan(i)
        Next
        harisekarang = (jumlahhari + 6) Mod 7
        Nreal = ((N + harisekarang - 1) \ 5) * 2 + N
        tahun = Convert.ToInt16(Microsoft.VisualBasic.Right(tanggalsekarang, 4))
        totalhari = jumlahhari + Nreal
        While totalhari > hari
            If cekkabisat(tahun) = True Then
                hari = 366
            Else

                hari = 365
            End If
            totalhari = totalhari - hari
            tahun = tahun + 1
        End While
       
If cekkabisat(tahun) Then
            bulan(2) = 29
        Else
            bulan(2) = 28
        End If

        i = 1
        Do While totalhari > bulan(i)
            totalhari = totalhari - bulan(i)

            i = i + 1
        Loop
        Label2.Text = "Tanggal kerja adalah:" & totalhari & "-" & i & "-" & tahun

    End Sub

    Public Function cekkabisat(ByVal a As String) As Boolean
        If a Mod 4 = 0 Then
            If a Mod 100 = 0 Then
                If a Mod 400 = 0 Then
                    cekkabisat = True
                Else
                    cekkabisat = False
                End If
            Else
                cekkabisat = True
            End If
        Else
            cekkabisat = False
        End If
    End Function

Hermawan Dephe

unread,
Mar 12, 2012, 6:25:42 AM3/12/12
to bengkel...@googlegroups.com
Yang excelnya saya tu donk broo cobain..
kalo yg vbs ribet ngetesnya..
Excel cm rumus simpel doank tuuu

prio setiadi

unread,
Mar 13, 2012, 8:58:07 AM3/13/12
to bengkel...@googlegroups.com
apakah pada intinya semua bahasa pemrograman itu sama?

saya minat di web programing... nih..

apa yang harus di mengerti dari rumus exel

oh iya saya pake linux sekarang


trims

Soesapto Joeni Hantoro

unread,
Mar 13, 2012, 8:26:47 PM3/13/12
to bengkel...@googlegroups.com
BISA DIBILANG logika & algoritmanya sama, cuma syntax dan kata2nya yang beda.
Orang yang sudah MAHIR di bahasa pemrograman tertentu akan lebih mudah belajar bahasa pemrograman lainnya.

Kalau tujuannya mau belajar web programming, abaikan saja excel, terlalu jauh bedanya dengan apa yang akan anda pelajari.
Di linux anda bisa menginstall Apache Web Server (termasuk modul PHPnya) dan MySQL untuk mulai belajar .

2012/3/13 prio setiadi <iyok...@gmail.com>

ridwan

unread,
Mar 13, 2012, 10:05:11 PM3/13/12
to bengkel...@googlegroups.com
coba pakai xampp, apache,mysql,php sudah dibundle disana.
bahasa pemrograman web, seperti biasa dimulai lewat desain (html+css), kemudian masuk logika dengan bahasa pemrograman server side php...
orang yang sudah terbiasa dengan c++ akan familiar dengan syntax php.

Hermawan Dephe

unread,
Mar 13, 2012, 11:20:46 PM3/13/12
to bengkel...@googlegroups.com
Kalo ente jago mecahin masalah logika di EXCEL...
ane jamin.. bwt blajar programing.. sangat mudah broo...

Hermawan Dephe

unread,
Mar 13, 2012, 11:28:29 PM3/13/12
to bengkel...@googlegroups.com
Inti dari semua programming sebenernya cm 2. yaitu

Pengulangan/Looping : For.. Next, Do.. Loop    ---> Ibarat Mobil mah ini bwt gas nya biar jalan sampe tujuan
Fungsi Logika : fungsi IF.. THEN, DO/SELECT/CHOOSE CASE  ---> ibarat Mobil ini supirnya.. yg nentuin arah, belok kiri? atau belok kanan?

selebihnya hanya belajar tentang kosakata & rule masing2 function nya aja..

kalo untuk web programming.. ente kudu blajar lagi yg namanya Markup Language (HTML).. secara hasil dari php/asp adalah generate file HTML ini..

Hermawan Dephe

unread,
Mar 14, 2012, 3:59:48 AM3/14/12
to bengkel...@googlegroups.com
Bwt iseng2 aja nglatih logika

coba aja kerjain ni soal..

1.       Buatlah script program untuk membuat tampilan seperti ini
0,100, 1,99, 2,98, 3,97, 4,96.. dst.. 100,0
atau tampilan bisa lurus ke bawah jika ingin lebih mudah (angka max = 100, minimal = 0)
0
100
1
99
2
98
3
97
dst..
100
0

CLUE : PAKE FOR.. NEXT AJA..


2.       Buat script untuk merubah suatu kalimat menjadi terbalik,
misal Kalimat : "AKU BAWA SARUNG" menjadi "GNURAS AWAB UKA"

atau boleh tampilan bisa lurus ke bawah jika ingin lebih mudah

G

N

U

R

A

S

A

W

A

B

U

K

A

CLUE : PAKE FOR.. NEXT AJA..  , DAN FUNGSI STRING KAYA LEFT, MID/SUBSTR, RIGHT


3.       (soal ini opsional) Jika waktu masih cukup silahkan buat function untuk mengecek apakah suatu Tahun termasuk Kabisat atau bukan

Misal :   Input : 2012        -> Output : Kabisat

                Input : 2013        -> Output : Bukan Kabisat

PAKE MOD AJA INI MAH..





On 13/03/2012 7:58 PM, prio setiadi wrote:

rafi randoni

unread,
Apr 13, 2012, 4:11:45 AM4/13/12
to bengkel...@googlegroups.com
haduh X_X...
pusing tujuh keliling ini mah....
hehe
kak, kasih tes algo'a yang sederhana aja donk, gak masuk ke kpala kalo
tahun2an gtu, T_T

ridwan

unread,
Apr 13, 2012, 6:19:49 AM4/13/12
to bengkel...@googlegroups.com
lha kan udah dikasih contoh soal yang sederhana, cuman kok enggak ada
yang coba...
coba bisa buat ini enggak:
1)
masukan: angka 1-24
keluaran: abjad sesuai urutan angka yang dimasukkan.
contoh:
masukan: 1 --> keluaran A
masukan: 4 --> keluaran D
dst...

2)
masukan: ada tiga, angka1, angka2, tipe penjumlahan.
keluaran: hasil operasi aritmatika angka1 dengan angka2, beri warning
apabila angka2 dalam pembagian adalah 0.

=======================

kalau sudah bisa, buat yang sudah semester 4, coba bisa buat sistem
enkripsi enggak, macam gini:
- randomise urutan abjad sebagai kunci enkripsi (255 karakter?).
- masukan berupa text.
- keluarkan text yang sudah dikonversikan karakternya berdasarkan kunci
yang sudah dibuat.

hint:
buat array sepanjang 255 berisi konversi hasil randomisasi.

rafi randoni

unread,
Apr 14, 2012, 1:30:45 AM4/14/12
to bengkel...@googlegroups.com
1 :>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

<?php
$huruf = array ("a","b","c","d","e","f","g","h","i","j","k","l",
"m","n","o","p","q","r","s","t","u","v","w","x","y","z");

if(isset($_POST['isi']))
{
$i = $_POST['isi'];
if ($i <= 24 AND $i > 0)
{
$i -= 1;
echo "<h1>Hurufnya adalah : ".strtoupper($huruf[$i])."</h1>";
}
else
{
echo "Maaf Angka Yang Anda Masukan Tidak Terdefinisi!!!";
}
}
?>
<form action="#" method="POST">
Masukan Angka 1 - 24
<input type="text" name="isi">
<input type="submit" value="Hitung">
</form>

2:>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?php
if ($_POST['angka1'] == "" || $_POST['angka2'] == "")
{
echo "Silahkan Masukan Angka";
}
else if ($_POST['angka1'] != "" AND $_POST['angka2'] != "")
{

$angka1 = $_POST['angka1'];
$angka2 = $_POST['angka2'];
$opsi = $_POST['opsi'];
switch($opsi)
{
case "+":
$hasil = $angka1 + $angka2;
break;
case "-":
$hasil = $angka1 - $angka2;
break;
case ":":
if ($angka2 == 0)
{
$hasil = "Tidak Terdefinisi";
}
else
{
$hasil = $angka1 / $angka2;
}
break;
case "x":
$hasil = $angka1 * $angka2;
break;
}
echo "Hasil Dari ".$angka1." ".$opsi." ".$angka2." = ".$hasil;
}
?>

<form action="#" method="POST">
Silahkan Masukan Angka : <input type="text" name="angka1">
<select name="opsi">
<option value="+">+</option>
<option value="-">-</option>
<option value=":">:</option>
<option value="x">x</option>
</select>
<input type="text" name="angka2">
<input type="submit" value="Hitung">
</form>


//==========================
//Saya Pake php ya kk... ||
//sedikit ngerti'a php soal'a...hehe ||
// ||
//kurang lebih gitu bkan kk?? ||
===========================

Hermawan Dephe

unread,
Apr 15, 2012, 11:59:35 PM4/15/12
to bengkel...@googlegroups.com
yup,, ini dah bener banget harusnya.. :D

ridwan

unread,
Apr 16, 2012, 10:02:41 PM4/16/12
to bengkel...@googlegroups.com
wah udah bagus nih, dari cara kodingnya juga bagus, terstruktur...

cuman tambahan sedikit, udah lulus ada masih kuliah? dulu ada mata
kuliah yang isinya menghitung efisiensi kode, nah untuk soal nomor satu,
perintah untuk konversi ke upper case seharusnya tidak diperlukan (boros
satu clock prosesor), karena data abjad itu kita yang menentukan
(tinggal dirubah di array nya aja).

Tapi enggak usah kecil hati, soalnya saya juga dari segi efisiensi masih
harus banyak belajar.

nah karena udah kelihatan jago coba bisa kerjakan soal yang enkripsi
sederhana enggak (dibagian bawah)?
kuncinya sih tinggal buat array konversi, dua kompenen text (masukan dan
hasil konversi). cara konversinya tinggal lakukan pengulangan dengan
membaca perkarakter.

atau mau coba soal lain?

buat game black jack:
peraturannya:
- nilai maksimum adalah 21 (black jack).
- kartu A bisa dihitung 11 atau 1 (21 kebawah).
- kartu jack, queen, king bernilai 10.
- pemain bisa menambah kartu sampai "bust" (nilai diatas 21).
- nilai "bust" dihitung 0.
- pemain bisa melakukan "hit" untuk menambah kartu, atau "stand" untuk
selesai menambah kartu.
- pembagian dilakukan adalah 2 kartu ke masing2 pemain dan 2 kartu ke
dealer, setelah itu semua kartu tambahan diberikan ke pemain terlebih
dahulu sampai pemain "stand" atau kartu dalam kondisi "bust" atau 2
kartu pertama sudah berjumlah 21, baru kemudian dealer menambahkan kartu.
- kartu dealer hanya satu yang diperlihatkan, satu disembunyikan, untuk
pemain semua kartu diperlihatkan.

cukup segitu aja dulu, tapi kalau mau tantangan lebih, bisa tambahkan
peraturan ini:

- memakai sistem bet (taruhan).
- taruhan pada 2 kartu pertama bisa di "double" (taruhan ditambah 2 kali
lipat), setelah itu tambahan kartu hanya dilakukan sekali, jadi maksimal
tiga kartu.
- taruhan bisa
- kartu yang bernilai sama bisa di split (apabila kartunya baru 2 buah)
maksimal menjadi empat, kartu split baru memakai taruhan baru (taruhan
split pertama tidak dibagi ke taruhan split kedua).
contohnya:
player 1 dapat 2 kartu 3 pada saat pertama, maka bisa di split menjadi
player1A 2 dan player 1B 2.
nah kemudian player1 ini dapat hal yang luar biasa,
player1A dapat kartu 2 lagi, dan kemudian dia putuskan untuk di split
lagi jadi Player1AA 2 dan Player 1AB 2.
Eh ternyata di 1AA dia dapat kartu 2 lagi, tapi kali ini dia putuskan
untuk tidak melakukan split karena uangnya sudah habis.
jadi taruhan player 1 ada tiga: AA, AB dan B.

kunci:
- buat array 3 dimensi berisi tipe kartu, nilai kartu (1-10,11 atau 1)
dan status apakah kartu sudah dipakai atau belum.
- memakai syntax randomisasi.

rafi randoni

unread,
Apr 18, 2012, 5:22:01 AM4/18/12
to bengkel...@googlegroups.com
saya mau tanya kk....
Kn perulangan atau kondisi itu ada banyak,
apa beda'a ya kk??

kaya if then else sama switch case, ???
trus perulangan for sama while ato do while???

On 4/18/12, rafi randoni <rafi.r...@gmail.com> wrote:
> hehehehe....
> makasih masukan'a kk..
>
> blm lulus kk, bntaran lgi....
> saya mah masih sekolah kk,


> >>>udah lulus ada masih kuliah?
>
>
>
>

> <?php
> if (isset($_POST['isi']) AND $_POST['isi'] != "")
> {
> $isi = $_POST['isi'];
> $opsi = $_POST['opsi'];
> if ($opsi == "sha1")
> {
> $konvert = "sha1";
> }
> else if ($opsi == "md5")
> {
> $konvert = "md5";
> }
> else if ($opsi == "base64")
> {
> $konvert = "base64_encode";
> }
> echo "Hasil Enkripsi Dengan ".$opsi." : ".$konvert($isi);


> }
> ?>
>
> <form action="#" method="POST">

> <input type="text" name="isi">

> <select name="opsi">
> <option value="sha1">SHA1</option>
> <option value="md5">MD5</option>
> <option value="base64">Base64</option>
> </select>
> <input type="submit" value="Convert">
> </form>
>
>
> Gini bukan kk???
> saya masih agak bngung sma kunci'a....hehe
>
> yang blackjack saya, masih mikir konsep'a kk... :D

rafi randoni

unread,
Apr 18, 2012, 5:13:31 AM4/18/12
to bengkel...@googlegroups.com
hehehehe....
makasih masukan'a kk..

blm lulus kk, bntaran lgi....
saya mah masih sekolah kk,

>>>udah lulus ada masih kuliah?

<?php
if (isset($_POST['isi']) AND $_POST['isi'] != "")
{
$isi = $_POST['isi'];
$opsi = $_POST['opsi'];
if ($opsi == "sha1")
{
$konvert = "sha1";
}
else if ($opsi == "md5")
{
$konvert = "md5";
}
else if ($opsi == "base64")
{
$konvert = "base64_encode";
}
echo "Hasil Enkripsi Dengan ".$opsi." : ".$konvert($isi);
}

?>

<form action="#" method="POST">

<input type="text" name="isi">

<select name="opsi">


<option value="sha1">SHA1</option>
<option value="md5">MD5</option>
<option value="base64">Base64</option>
</select>
<input type="submit" value="Convert">
</form>


Gini bukan kk???
saya masih agak bngung sma kunci'a....hehe

yang blackjack saya, masih mikir konsep'a kk... :D

On 4/17/12, ridwan <reedo...@gmail.com> wrote:

ridwan

unread,
Apr 18, 2012, 11:01:48 PM4/18/12
to bengkel...@googlegroups.com
hehehe, enkripsi yang itu sih udah bawaan program, maksud saya buat
enkripsi sendiri yang orang lain enggak tau, contohnya buat surat
rahasia yang kuncinya cuman dipegang dua orang, dan susah di crack
otomatis karena kita sendiri yang menentukan konversinya.
contoh sederhananya:
(huruf awal --> huruf konversi)
a=f
b=d
c=#
d=^
e=l
B=$

contoh kata: cabe Babe
hasil konversinya jadi: #fdl $fdl

====================================

kalau kondisi itu cuman dua: if..then..else dan select case.
if then else dipakai untuk kondisi sederhana, dan dulu level bersarang
if then else itu terbatas (enggak tahu sekarang), dan ada beberapa tipe
kondisi yang lebih efisien memakai select case daripada if then else.
dan dari segi performance (efisiensi, select case lebih hemat untuk
kondisi bersarang yang komplex).

contohnya ada 5 kondisi, kalau kondisi ditemukan pada level 1 atau 2
dalam if then else maka if then esle akan lebih cepat dibanding memakai
select case. tapi apabila kondisi ditemukan pada level dibawah itu maka
if then else memakan waktu lebih lama dari pada select case.

intinya tiap penambahan kondisi pada if then else akan menambah cycle,
sedangkan pada select case tidak pengaruh apabila kondisi ditemukan pada
case pertama atau case terakhir, nilai cycle nya tetap sama.
contohnya: anggap bila harga kondisi if then else itu 5 dan select case
itu 20.
nah kalau dibuat table:
posisi kondisi ditemukan/bernilai true:
1: 5 vs 20
2: 10 vs 20
3: 15 vs 20
4: 20 vs 20
5: 25 vs 20
6: 30 vs 20, dst
nah disini terlihat bahwa if then else efisien ketika kondisi ditemukan
pada level 1-3, tapi pada kondisi ditemukan lewat itu, select case lebih
hemat.

kalau for.. to.. do dengan while.. do/do.. while itu istilahnya:
do while+perubahan nilai kondisi = for to, kalau kondisi yang di cek
berupa angka berurut.

contoh kalau syaratnya:
kalau i=25 maka pengulangan berhenti.
kalau tehnik pencarian i dengan i++ nah for to do lebih efisien.
contoh:

for i=1 to 100 do
end for

vs

do
i=i++
while i<>100
(do while boros 1 cyle per perulangan)

nah kalau nilai i itu didapat dari hasil i=random(100), apa bisa pakai
for to do?
contoh:
do
i=random(100)
while i<>25
(hati2 jalanin koding ini, bisa enggak selesai2, harus dibuat pembatas
jumlah looping).

jadi masing2 ada fungsinya. kalau itu bisa dilakukan dengan for to do,
pakai for to do, kalau tidak bisa baru pakai do while.

Reply all
Reply to author
Forward
0 new messages